v0.1.0-alpha37.89
31.10.2026
Stable
Version 0.1.0-alpha37.89
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.88
31.10.2026
Stable
Version 0.1.0-alpha37.88
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.87
31.10.2026
Stable
Version 0.1.0-alpha37.87
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.86
31.10.2026
Stable
Version 0.1.0-alpha37.86
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.85
29.10.2026
Stable
Version 0.1.0-alpha37.85
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.84
29.10.2026
Stable
Version 0.1.0-alpha37.84
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.82
29.10.2026
Stable
Version 0.1.0-alpha37.82
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.81
29.10.2026
Stable
Version 0.1.0-alpha37.81
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.80
29.10.2026
Stable
Version 0.1.0-alpha37.80
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.79
29.10.2026
Stable
Version 0.1.0-alpha37.79
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.78
29.10.2026
Stable
Version 0.1.0-alpha37.78
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.77
29.10.2026
Stable
Version 0.1.0-alpha37.77
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.76
29.10.2026
Stable
Version 0.1.0-alpha37.76
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.75
29.10.2026
Stable
Version 0.1.0-alpha37.75
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.74
29.10.2026
Stable
Version 0.1.0-alpha37.74
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.73
29.10.2026
Stable
Version 0.1.0-alpha37.73
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.72
29.10.2026
Stable
Version 0.1.0-alpha37.72
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.71
29.10.2026
Stable
Version 0.1.0-alpha37.71
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.70
29.10.2026
Stable
Version 0.1.0-alpha37.70
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.68
27.10.2026
Stable
Version 0.1.0-alpha37.68
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.67
27.10.2026
Stable
Version 0.1.0-alpha37.67
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.64
27.10.2026
Stable
Version 0.1.0-alpha37.64
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.63
27.10.2026
Stable
Version 0.1.0-alpha37.63
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.62
27.10.2026
Stable
Version 0.1.0-alpha37.62
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.61
27.10.2026
Stable
Version 0.1.0-alpha37.61
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.60
27.10.2026
Stable
Version 0.1.0-alpha37.60
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.59
27.10.2026
Stable
Version 0.1.0-alpha37.59
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.58
27.10.2026
Stable
Version 0.1.0-alpha37.58
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.57
27.10.2026
Stable
Version 0.1.0-alpha37.57
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.56
27.10.2026
Stable
Version 0.1.0-alpha37.56
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.55
27.10.2026
Stable
Version 0.1.0-alpha37.55
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.54
26.10.2026
Stable
Version 0.1.0-alpha37.54
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.53
25.10.2026
Stable
Version 0.1.0-alpha37.53
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.52
25.10.2026
Stable
Version 0.1.0-alpha37.52
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.51
18.10.2026
Stable
Version 0.1.0-alpha37.51
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.50
18.10.2026
Stable
Version 0.1.0-alpha37.50
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.49
18.10.2026
Stable
Version 0.1.0-alpha37.49
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.48
18.10.2026
Stable
Version 0.1.0-alpha37.48
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.47
17.10.2026
Stable
Version 0.1.0-alpha37.47
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.46
17.10.2026
Stable
Version 0.1.0-alpha37.46
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.45
16.10.2026
Stable
Version 0.1.0-alpha37.45
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.44
16.10.2026
Stable
Version 0.1.0-alpha37.44
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.43
16.10.2026
Stable
Version 0.1.0-alpha37.43
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.42
16.10.2026
Stable
Version 0.1.0-alpha37.42
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.41
15.10.2026
Stable
Version 0.1.0-alpha37.41
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.40
15.10.2026
Stable
Version 0.1.0-alpha37.40
- 0.1.0-alpha37.40: AVIF-Packungsfoto-Upload, Bildoptimierung und private Miniaturbilder, Vorschau und Klick-Modal, Upload beim Medikamentenbild.
- # CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.39
15.10.2026
Stable
Version 0.1.0-alpha37.39
# CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.38
15.10.2026
Stable
Version 0.1.0-alpha37.38
# CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.37
15.10.2026
Stable
Version 0.1.0-alpha37.37
# CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.36
15.10.2026
Stable
Version 0.1.0-alpha37.36
# CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.35
15.10.2026
Stable
Version 0.1.0-alpha37.35
# CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.34
15.10.2026
Stable
Version 0.1.0-alpha37.34
# CW MediPlan 0.1.0-alpha37.33 – Null-Dosis-Fix
- Nullangaben (`0.00`, `0,00`, `00`, `0/2` etc.) gelten nicht mehr als geplante Einnahme. Regressionstests und Betreiber-/Storage-Checkliste ergänzt; keine Datenmigration oder Designänderung. Siehe `docs/RELEASE-NOTES-ALPHA37.33.md`.
- # CW MediPlan 0.1.0-alpha37.32 – Zweispaltige Bedarfsliste
- Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.32
14.10.2026
Stable
Version 0.1.0-alpha37.32
Auf Desktop zwei Spalten für die Bedarfsmedikamente; Tablet/Handy eine Spalte. Scrollbereich nur für längere Listen, volle Kartenbreite statt Leerfläche. Reiner CSS-Fix; siehe `docs/RELEASE-NOTES-ALPHA37.32.md`.
- ## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.31
14.10.2026
Stable
Version 0.1.0-alpha37.31
## CW MediPlan alpha37.31 – Dashboard-Fix
- Reguläre Einnahmeübersicht: keine vertikale Scrollbegrenzung mehr, kein Abschneiden der Medikamentenzeilen.
- Tagesabschnitte: auf Desktop platzsparend angeordnet, geöffnete Liste nutzt volle Breite; auf Mobilgeräten untereinander.
- Pro Medikament bleiben Bild, Kategorie, Stärke, Einnahme, Einzelbestätigung/Rückgängig unverändert erreichbar. Sammelbestätigung bleibt bestehen.
- Bedarfsmedikamente behalten ihre eigene Höhenbegrenzung und interne Liste.
- Reine CSS-Korrektur; keine Änderung von PHP-Einnahmeaktionen, CSRF, SQLite-Schema, Cron, Push, PWA-Worker oder XML-Import.
- Browser-Test mit realitätsnahen Beispieldaten bei 1450 / 1000 / 800 / 420 px bestanden; echter Hosting-Test noch offen.
- ## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.30
14.10.2026
Stable
Version 0.1.0-alpha37.30
## CW MediPlan alpha37.30 (Layout-Korrektur)
- „Meine Einnahmen“ wieder vollbreit mit großzügigen Zeilen; Einzeln bestätigen und Rückgängig bleiben unverändert.
- Nur Bedarfsmedikamente: kompakte Formulare, bei mehreren Einträgen vertikal scrollbar; keine verschachtelten Scrollbereiche.
- Öffentliche Landingpage: Bildhöhe begrenzt, Bild und Text oben ausgerichtet.
- Keine Datenbankschema-, API-, PWA-Service-Worker- oder Cron-Änderungen.
- CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.29
14.10.2026
Stable
Version 0.1.0-alpha37.29
CW MediPlan alpha37.29: Details in docs/RELEASE-NOTES-ALPHA37.29.md.
- CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.28
14.10.2026
Stable
Version 0.1.0-alpha37.28
CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.27
14.10.2026
Stable
Version 0.1.0-alpha37.27
CW MediPlan alpha37.27: Details in docs/RELEASE-NOTES-ALPHA37.27.md.
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.26
14.10.2026
Stable
Version 0.1.0-alpha37.26
- 0.1.0-alpha37.26: persönlicher Einnahmeverlauf (Website/PWA), Kategorien, Tageskalender, kumulierte Mengen und Bedarfstrends; neue historische Momentaufnahmen in SQLite.
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.25
14.10.2026
Stable
Version 0.1.0-alpha37.25
- 0.1.0-alpha37.25: Beim expliziten PWA-Planwechsel wird die zugehörige Push-Registrierung dieses Geräts synchronisiert; iPhone und iPad mit gemeinsamem Konto können verschiedene Pläne verwenden.
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.24
14.10.2026
Stable
Version 0.1.0-alpha37.24
- 0.1.0-alpha37.24: automatische Push-Erinnerungen nach Gerät und ausgewähltem Plan getrennt; PWA synchronisiert Geräte-Plan-Zuordnung, Cron-Vorschau zeigt Geräte und Plan-IDs.
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.23
14.10.2026
Stable
Version 0.1.0-alpha37.23
- 0.1.0-alpha37.23: Medikamentenbilder im Auswahldialog korrigiert (mehr Innenabstand bei Pos. 6 und 19, Pulver größer, Velphoro größer).
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.22
14.10.2026
Stable
Version 0.1.0-alpha37.22
- 0.1.0-alpha37.22: Versionierte CW-Asset-URLs zentral korrigiert (`&v` bei Query-URLs), sodass Bildauswahl, MediPlan-JavaScript und PWA-Stylesheets nicht mehr auf 404/Text-Platzhalter laufen.
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.21
14.10.2026
Stable
Version 0.1.0-alpha37.21
- 0.1.0-alpha37.21: separates robustes Bildauswahl-JavaScript für Web und PWA; Modal öffnet, übernimmt und verwirft korrekt; inhaltsbasierter Cache-Buster.
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.20
14.10.2026
Stable
Version 0.1.0-alpha37.20
- 0.1.0-alpha37.20: neue Medikamentenbilder (Velphoro, Pulverbeutel, kleine weiße Tablettenvarianten) und Symbole jetzt auch in der Web-Bedarfsliste.
- # CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.19
14.10.2026
Stable
Version 0.1.0-alpha37.19
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.18
13.10.2026
Stable
Version 0.1.0-alpha37.18
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.17
13.10.2026
Stable
Version 0.1.0-alpha37.17
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.16
13.10.2026
Stable
Version 0.1.0-alpha37.16
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.15
13.10.2026
Stable
Version 0.1.0-alpha37.15
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.14
13.10.2026
Stable
Version 0.1.0-alpha37.14
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.13
13.10.2026
Stable
Version 0.1.0-alpha37.13
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.12
13.10.2026
Stable
Version 0.1.0-alpha37.12
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.11
13.10.2026
Stable
Version 0.1.0-alpha37.11
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.10
13.10.2026
Stable
Version 0.1.0-alpha37.10
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.9
13.10.2026
Stable
Version 0.1.0-alpha37.9
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.8
13.10.2026
Stable
Version 0.1.0-alpha37.8
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.7
13.10.2026
Stable
Version 0.1.0-alpha37.7
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.6
13.10.2026
Stable
Version 0.1.0-alpha37.6
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.5
13.10.2026
Stable
Version 0.1.0-alpha37.5
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.4
13.10.2026
Stable
Version 0.1.0-alpha37.4
# CW MediPlan 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.3
13.10.2026
Stable
Version 0.1.0-alpha37.3
- Fix: Antippen einer Web-Push-Nachricht aktiviert die eigenständige MediPlan-PWA statt eines beliebigen Website-Fensters.
- Service-Worker-Versionierung auf allen drei Registrierungsstellen vereinheitlicht (`?v=37.3`).
- Fallback bei iOS-Fehlern beim Fokussieren oder Öffnen.
- Keine Änderungen an Medikations-, Push-Versand-, Konto- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.2
13.10.2026
Stable
Version 0.1.0-alpha37.2
- Frontend-Route `app-erinnerungen` übergibt die geprüfte Identität jetzt vollständig an das Template (beseitigt TypeError beim Laden der Geräteliste).
- Erfolgshinweis nach Speichern der App-Vorgaben aktualisiert: Push kann erst nach Geräte- und Worker-Einrichtung zugestellt werden.
- Keine Änderungen an Datenbank, Einnahmeberechnung, Web-Dashboard, App, WAF, bestehenden Push-Abonnements oder geschütztem Speicher.
- # CW MediPlan 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37.1
13.10.2026
Stable
Version 0.1.0-alpha37.1
- Web-Dashboard: Tageszeiten jetzt in einer Spalte untereinander.
- Kleine Medikamentenbild-Vorschauen pro Tageszeit, nach Aufklappen vollständige Liste mit Bildern, Dosierungsangaben und Einnahmestatus.
- Keine Änderung an PWA, Push-Versand, Konten, Medikamentenbuchung oder Datenbank.
- # CW MediPlan 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha37
13.10.2026
Stable
Version 0.1.0-alpha37
- Echte Web-Push-Geräteverwaltung mit Zustimmung, Testnachricht und Deaktivierung.
- Wiederkehrende Erinnerungen pro Tagesabschnitt, solange reguläre geplante Einnahmen offen sind.
- Serverseitiger PHP-CLI-Worker mit flock-Schutz, Ruhezeiten und Bestell-Wiederholungen.
- Individuelle Erinnerungsvorgaben und Admin-Freigabe. VAPID-Privatschlüssel ausschließlich im privaten MediPlan-Speicher.
- Datenschutz: neutrale Benachrichtigungen, keine lokalen Offline-Medikamentendaten, keine Bedarfsmedikament-Erinnerungen.
- Bestandsmengen und Medikationsbuchungen bleiben unverändert; neue SQLite-Tabellen sind additiv.
- # CW MediPlan 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha36
13.10.2026
Stable
Version 0.1.0-alpha36
- Bedarfsmengen direkt in der schlanken PWA mit − / + und Erfassen; vollständige scrollbare Bedarfsliste.
- Erledigte regelmäßige Einnahmen im App-Dashboard nur kompakt zusammengefasst.
- Keine Änderung der bestehenden Buchungs-, Sicherheits- oder Datenbanklogik.
- # CW MediPlan 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha35
12.10.2026
Stable
Version 0.1.0-alpha35
- App-Frontend in einen eigenen `app/`-Ordner ausgelagert, Routing und bestehende Datenlogik bleiben bestehen.
- Großzügiges MediPlan-Dashboard für Handy und iPad mit zeitnahen Einnahmen, visuellen Medikamenten, Bedarf, Vorrat und sicheren Quittierungen.
- Bildauswahl im Medikamentenformular als Modal; keine Änderung der gespeicherten Bildkennung.
- Push bleibt technisch deaktiviert bis zum gesonderten, getesteten Versanddienst.
- # CW MediPlan 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha34
12.10.2026
Stable
Version 0.1.0-alpha34
- Auswahl eines Illustrationsbildes beim Erfassen/Bearbeiten von Medikamenten mit weißer Tablette als Standard.
- Bilder in Web-Medikamentenübersicht und schlanker Handy-App; keine Medikationslogik geändert.
- # CW MediPlan 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha33
12.10.2026
Stable
Version 0.1.0-alpha33
- Neue aufklappbare Schnellansicht für die vier bestehenden täglichen Einnahmeabschnitte; Richtzeiten aus persönlichen Benutzervorgaben.
- Gesonderte Zwei-Schritt-Sammelbestätigung nutzt die vorhandene transaktionale und autorisierte Einnahmebuchung; Einzelbestätigung bleibt möglich.
- Tablet-Master/Detail-Ansicht und direkter Übergang zum vollständigen Detail-Dashboard.
- Bedarfsmedikamente bleiben separat und erfordern die Angabe der tatsächlich eingenommenen Menge.
- Keine Änderung von Medikamentendaten, Datenbankschema, Push-Status oder CW-Core.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha32
12.10.2026
Stable
Version 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha32
- Eigenständige installierbare Handy-App mit separatem `/app`-Einstieg statt Website-Start.
- Regelmäßige Einnahmen, Bedarfsmedikamente, Nachbestellung und persönlicher App-Kontobereich nach MediPlan-CI.
- Keine Push-Zustellung; keine Veränderungen der regulären Medikations-Datenlogik.
- # CW MediPlan 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha31.1
12.10.2026
Stable
Version 0.1.0-alpha31.1
- Öffentliche PWA-Installationsseite unter `/medi-plan/app-installieren`: HTTP-500-Fatal-Error durch fehlende `templates/_layout.php`-Einbindung behoben.
- Benutzerseite „App & Erinnerungen“: identischer Fehler behoben.
- Die öffentliche Installationsseite erfordert weiterhin keine Anmeldung.
- Medikationslogik, Kundenanmeldung, Speicherung und sonstige Funktionen unverändert.
- # CW MediPlan 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha31
12.10.2026
Stable
Version 0.1.0-alpha31
- PWA-Installationsseite mit QR-Code, originalem MediPlan-Icon, Manifest und einem Worker ohne private Offline-Caches.
- Backend-Einstellungen für PWA und persönliche Erinnerungs-Vorgaben im Benutzerkonto.
- Noch kein Push-Versand: keine Geräte-Abonnements, keine Meldungszustellung oder Erinnerungs-Queue.
- Alle bestehenden MediPlan-Funktionen und 18 bebilderten Handbuchkapitel aus alpha30 erhalten.
- # CW MediPlan 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha30
12.10.2026
Stable
Version 0.1.0-alpha30
- Alle 27 vom Eigentümer freigegebenen Anwendungsscreenshots im öffentlichen Handbuch durch die Originaldateien ohne nachträgliche Abdeckungen ersetzt.
- `19-Konto.jpg` wird mitsamt der bereits vom Eigentümer selbst eingearbeiteten Unschärfe bytegenau übernommen.
- Öffentliche Ressourcen liefern die Originalbilder mit korrektem `image/png`/`image/jpeg` MIME-Typ; `v=30` verhindert veraltete Cache-Bilder.
- Alle bestehenden Anwendungen, Routen, Inhalte und Datenspeicher bleiben unverändert.
- # CW MediPlan 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha29
12.10.2026
Stable
Version 0.1.0-alpha29
- Öffentliches Handbuch mit 27 datenschutzgerecht bearbeiteten Screenshots aus der echten MediPlan-Anwendung erweitert; Abbildungen den bestehenden 18 Kapiteln zugeordnet.
- Screenshots lokal und ausdrücklich freigegeben über die bestehende Handbuch-Resource-Route; Vollansicht per Klick und mobile Darstellung.
- Das grün-pinke MediPlan-CI und die vollständige Anwendungslogik aus alpha28 bleiben unverändert.
- # CW MediPlan 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha28
12.10.2026
Stable
Version 0.1.0-alpha28
- Öffentliche Hilfe übernimmt jetzt bewusst die MediPlan-CI mit Grün-/Petrol-Tönen und pinken Akzenten.
- Die CW-Dokumentationsstruktur bleibt erhalten; das Handbuch sieht jetzt aber klar nach MediPlan aus.
- Keine Änderungen an der Anwendungslogik, Datenhaltung oder Berechtigungen.
- # CW MediPlan 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha26
12.10.2026
Stable
Version 0.1.0-alpha26
- Öffentliche Handbuch-Ansicht auf CW-Systemdokumentationsstruktur umgestellt.
- Kein ungestyltes HTML mehr bei ausgefallenem Modul-Assetpfad: CSS, JS und SVG selbsttragend abgesichert.
- Keine Änderung der bisherigen MediPlan-Funktionen oder Datenspeicherung.
- # CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha25
12.10.2026
Stable
Version 0.1.0-alpha25
# CW MediPlan 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha24
11.10.2026
Stable
Version 0.1.0-alpha24
- Medikamentenreihenfolge speichert sich nach Pfeilklick automatisch, ohne Speichern-Button.
- Kurze Klickfolgen werden zu einem sicheren POST gebündelt (350 ms).
- Anzeige von „Wird gespeichert“, „Gespeichert“ und Fehlermeldung; die Bildschirmreihenfolge springt bei nicht bestätigtem Speichern zum letzten bestätigten Stand zurück.
- Vorhandene CSRF-, Planinhaber- und ID-Prüfung bleibt erhalten, keine Änderung an WAF, Medikamentendaten oder Datenbank.
- Dokumentation und Testcheckliste aktualisiert.
- # CW MediPlan 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha23
11.10.2026
Stable
Version 0.1.0-alpha23
- Dashboard: Direkt neben „Anzeigen“ neuer Button „Bearbeiten“ für den im Dropdown ausgewählten Zeitplan.
- Wechsel der Dropdown-Auswahl aktualisiert den Bearbeiten-Link sofort. Das Ziel ist die Planübersicht mit Medikamentenbearbeitung und Planangaben, nicht ein fremder oder zuvor ausgewählter Plan.
- Responsives Umbrechen bei engen Breiten; keine Änderungen an Datenbank, Core, WAF, Dosierung oder Lagerbestand.
- Vorgängerversion alpha22 vollständig erhalten.
- # CW MediPlan 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha22
11.10.2026
Stable
Version 0.1.0-alpha22
- Fehlerbehebung bei alternierender Dosierung: Ein leeres Phase-B-Mengenfeld wird nur dann als `0` gewertet, wenn in Phase A für dieselbe Tageszeit ebenfalls keine Einnahme vorgesehen ist (`0`) oder beide Phasen dort leer sind.
- Positive Menge in Phase A ohne B-Angabe bleibt ein Validierungsfehler; die Meldung nennt Phase und Tageszeit. Umgekehrt muss bei positiver Phase B eine fehlende Phase-A-Menge explizit `0` oder eine Zahl erhalten. Keine stillschweigende Annahme einer Einnahmepause.
- Bereits geladene Formulare zeigen Phase-B-Nullen bei entsprechenden Phase-A-Pausen. Keine neue Datenbankspalte und keine Migration. XML und Einnahmeberechnung nutzen weiterhin dieselben Datenfelder.
- Benutzer- und Administratorhilfe angepasst. PHP- und JavaScript-Syntax, positive und negative Validator-Fälle und ZIP-Integrität geprüft. Live-Test auf `cw.test` steht aus.
- # CW MediPlan 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha21
11.10.2026
Stable
Version 0.1.0-alpha21
- *Korrektur Wechseldosierung:** Phase A und Phase B stehen im Medikamentenformular nun unmittelbar untereinander im Abschnitt „Einnahmerhythmus & Dosierung“. Bei aktivem Wechsel sind die vier Dosis-Eingaben für Phase A ausdrücklich als solche beschriftet; die Phase-B-Felder folgen direkt. Auch das Startdatum liegt dort. Bei Wechsel der Checkbox passen sich Überschriften und Beschriftungen ohne Seitenwechsel an. Die formalen Eingabenamen und die bestehende serverseitige Prüfung bleiben unveränder
- *Nur UI:** Anpassung von `templates/med-form.php`, `assets/mediplan.js` und `assets/mediplan.css`. Kein Schema- oder Routing-Eingriff, keine Änderung an Einnahmebestätigung, Lagerberechnung, Feedback oder XML-Import/-Export.
- # 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha20
11.10.2026
Stable
Version 0.1.0-alpha20
# 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha19
11.10.2026
Stable
Version 0.1.0-alpha19
# 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha17
11.10.2026
Stable
Version 0.1.0-alpha17
# 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha16
11.10.2026
Stable
Version 0.1.0-alpha16
# 0.1.0-alpha16 – Feedback-Abschluss und Antwortbausteine
- Nutzer können einen eigenen Feedbackvorgang mit **„Für mich erledigt, danke“** ausdrücklich schließen. Der Vorgang erhält den Status **„Vom Nutzer erledigt“**, die Entscheidung wird im Nachrichtenverlauf vermerkt. Durch eine spätere Antwort kann der Nutzer ihn erneut zur Bearbeitung öffnen.
- Backend-Status erweitert um **„Zurückgestellt“** und **„Abgelehnt“**; bestehende Status und Vorgänge bleiben erhalten. Vom Nutzer erledigte Vorgänge sind in der Liste separat erkennbar.
- Acht auswählbare, höfliche **Antwortvorlagen** (Eingangsbestätigung, Bearbeitung, Rückfrage, Fehlerprüfung, Lösung, Zurückstellung, Ablehnung, Dank). Auswahl füllt nur Textfeld und Statusvorschlag; vor Versand frei bearbeitbar.
- Teamnachricht oder Statusänderung lösen wie bisher eine Benachrichtigung über CW Customers aus – **ohne Nachrichtentext oder medizinische Daten**. Kundenabschluss löst keine automatische E-Mail an den Kunden aus; der Backendstatus wird direkt aktualisiert.
- Keine neue Datenbanktabelle, keine Veränderung an Medikationsplänen, Lagerbestand, bestehenden Feedbackverläufen oder E-Mail-Adressen. Einwilligungs- und Kontentrennung bleiben erhalten.
- *Prüfen nach Update:** Kundenvorgang schließen und wieder öffnen, Backend-Statuswechsel / Vorlage bearbeiten / Mail-Versand, zwei verschiedene Konten und deren Zugriffsschutz. Vor Update bitte den MediPlan-Speicher sichern.
- # 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha15
11.10.2026
Stable
Version 0.1.0-alpha15
# 0.1.0-alpha15 – Feedbackdialog und wöchentliche Einnahmeintervalle
- Einnahme-Rhythmus je Arzneimittel: täglich/ausgewählte Wochentage, einmal wöchentlich, alle zwei oder vier Wochen mit festem Einnahmedatum.
- Tagesberechnung auch beim Monats-/Jahreswechsel und über die Sommer-/Winterzeit; Bestätigung und Bestandsabzug nutzen dieselbe Berechnung.
- Neue Felder `schedule_interval_weeks` und `schedule_anchor` in `mp_meds` per additiver Migration. XML-Import/Export um diese Werte erweitert.
- Feedback als Nachrichtenverlauf mit Status Neu, In Bearbeitung, Abgeschlossen; userseitige Vorgangsliste und eigene Antworten.
- Bestehende Feedbacks werden idempotent als Startnachricht migriert; Backend pseudonymisiert auf Vorgangsnummer, ohne sichtbare E-Mail-Adresse, Namen oder Kontonummer.
- CW Customers verschickt bei Statusänderung oder Teamantwort einen Hinweis ohne Nachrichtentext. Versandfehler führen nicht zum Verlust der gespeicherten Änderung.
- Bestehende Medikationspläne, Bestände, Einnahmehistorie, Modulbilder und WAF-Regeln bleiben erhalten.
- *Erfordert:** vor Update Backup von `project/storage/mediplan/`; vollständige Tests mit PDO SQLite, Frontend-Login und E-Mail-Versand auf Zielsystem.
- # CW MediPlan 0.1.0-alpha14 – 11.10.2026
- ## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha14
11.10.2026
Stable
Version 0.1.0-alpha14
## Medikamentenformular und Übersicht
- Einnahmemenge (1, 2, 3, ½, 0,5 usw.) pro Tageszeitpunkt deutlich gekennzeichnet; dynamische Anzeige der gewählten Einnahme-/Bestandseinheit direkt neben jedem Mengenfeld, auch für Phase B bei alternierender Dosierung. Keine zusätzliche redundante Dosis-Spalte; bestehende Tageszeitmengen bleiben unverändert.
- Ergänzte Packungsgröße mit N1/N2/N3 oder sonstige sowie Packungsinhalt/VPE (z. B. 98 Tabletten). **N1–N3 dürfen nicht zur Stückzahl umgerechnet werden.**
- Packungsgröße, VPE, Lagerbestand und Mindestbestand werden in der Medikamentenübersicht und Nachbestellliste angezeigt.
- Pro Medikament: „Von der automatischen Lagerführung ausnehmen“ für Bedarfsmedikamente. Diese bleiben im Medikationsplan sowie bei der manuellen Nachbestellung verfügbar, werden jedoch vom automatischen Lagerabzug, von der automatischen Nachbestellkennzeichnung und von Fehlbestandsmeldungen ausgenommen.
- ## Lagerbestandsprüfung
- Schaltfläche „Lagerbestand ermitteln“ auf Plan-/Nachbestellseite: nur aktive Medikamente; **Bestand NULL = nicht erfasst**, Bestand 0 = explizit leer.
- Status „Nur Teilauswertung möglich“ bei einem fehlenden erfassten Bestand; vollständige Liste aller fehlenden und aller ausgenommenen Medikamente; erfasste Bestände mit Mindestbestandsauswertung.
- Auswertung wird *nur auf ausdrücklichen Klick* gespeichert, als zeitlich unveränderlicher Snapshot in `mp_stock_reports` innerhalb der ohnehin geschützten MediPlan-Datenbank, maximal die letzten 40 pro Plan. Früher gespeicherte Berichte sind erneut aufrufbar, druckbar oder als lokal generiertes PDF herunterladbar.
- Keine automatischen Bestellungen, keine Bestandsänderung durch Prüfen/Speichern/Drucken und keine rückwirkende Umrechnung von Einnahmen.
- ## Kompatibilität & Datenschutz
- Auf alpha13 aufgebaut, alle bisherigen Moduldateien behalten. Neue Tabelle `mp_stock_reports` und zwei optionale Spalten `packungsgroesse`, `exclude_stock` werden idempotent angelegt; sonst keine Datenmigration.
- XML-Export und -Import behandeln Packungskennzeichnung und Lager-Ausnahme als optionale Felder; ältere XML-Dateien bleiben ohne sie gültig. Wie bisher ersetzt XML-Import die Medikamente eines Plans samt Historie: vorher sichern.
- Berichte und PDF enthalten private Medikations-/Bestandsdaten. Sie sind nur für den Kontoinhaber erreichbar; heruntergeladene PDFs müssen ebenfalls vertraulich behandelt werden. Bei Kontolöschung oder Planlöschung werden Berichte mit gelöscht.
- Vor öffentlichem Liveeinsatz: End-to-End-Test mit Datenbankmigration, zwei Konten, WAF, CSRF, PDF, Import/Export und Bestandabzug auf der echten PHP-/SQLite-Laragon-Installation.
- # CW MediPlan 0.1.0-alpha13 – 11.10.2026
- ## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha13
11.10.2026
Stable
Version 0.1.0-alpha13
## Auswahllisten für Arzneimittel
- Medikamentenformular: Darreichungsform mit Gruppen (u. a. Retard-, Kau-, Film- und Schmelztabletten, Kapseln, Lösungen, Tropfen, Inhalativa, Pflaster, Zäpfchen, Injektionsformen).
- Einnahme-/Bestandseinheit: passende Liste (u. a. Tablette, Kapsel, Stück, ml, mg, µg, g, IE, mmol, Tropfen, Hübe, Beutel, Pflaster).
- Wirkstärke/Konzentration: getrennte Eingaben für Zahlenwert und Einheit (u. a. mg, µg, mg/ml, IE/ml, %, µg/h); zusätzlich vollständige freie Wirkstärke, falls Kombinationen oder atypische Angaben nötig sind.
- Jedes der drei Felder hat einen expliziten Freitextweg. Bestehende Altwerte erscheinen weiterhin korrekt.
- Gespeicherte Felder `form`, `einheit`, `staerke` bleiben unverändert; kein Schemawechsel, keine Datenmigration; XML-Import, XML-Export, Druck und PDF nutzen weiterhin dieselben vollständigen Angaben.
- Medizinischer Hinweis: Wirkstärke, Einnahme-/Bestandseinheit und Tagesmenge sind verschiedene Angaben. Kein automatischer Wirkstoff-/Einheitenwechsel oder Dosierungsvorschlag.
- ## Kompatibilität und Sicherheit
- Alle Dateien aus alpha12 übernommen; keine Löschung oder Datenmigration.
- POST-Validierung der Auswahllisten und der individuellen Eingaben serverseitig, mit unverändertem CSRF-Schutz.
- Bestehende XML-Importe bleiben unabhängig vom neuen interaktiven Formular.
- Einnahmetage und alternierende Mengen sind unverändert; Bestandsabzug bleibt an die tatsächliche Einnahmemenge gebunden.
- # CW MediPlan 0.1.0-alpha12 – 11.10.2026
- ## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha12
11.10.2026
Stable
Version 0.1.0-alpha12
## Verbesserungen
- Neues Dashboard-Morgenfoto (vom Nutzer ausgewählt), oberhalb von „Gut organisiert durch den Tag“, schmal eingebunden; die Schnell-Einnahmeübersicht bleibt unverändert.
- Frontend-Pfad in MediPlan → Einstellungen konfigurierbar, z. B. `mein-mediplan` oder `gesundheit/mediplan`.
- Bestands-URLs unter `/mediplan` bleiben als kompatibler Alias weiterhin erreichbar; die Anwendung erstellt interne Links auf die konfigurierte Basis.
- Admin-Übersicht mit MediPlan-Nutzung, neuer Konten-/Patientenstatistik und separat protokollierten Registrierungen über die MediPlan-Anmeldeseite.
- Neue berechtigungsgetrennte Seite „Konten & Patienten“: Account-ID, erster MediPlan-Eintrag, Registrierungs-/Einwilligungsstatus, Anzahl Pläne, keine Namen/Medikationen/Gesundheitsdaten.
- Neue geschützte Feedbackseite für angemeldete Nutzer und separate Admin-Inbox, Status, Löschung, max. 3 Nachrichten je Account/Stunde.
- Konto-Löschung löscht auch eigene Feedback-Nachrichten und MediPlan-Registrierungsmetadaten.
- ## Migrations- und Datenschutzaspekte
- Nur additive neue Tabellen `mp_members` und `mp_feedback`. Bestehende Pläne, Arzneimittel, Bestände, Einnahmen und Einwilligungen bleiben unverändert.
- Die Kennzahl „Registrierungen über MediPlan“ beginnt erst mit alpha12. Vorherige Nutzende erkennt die Übersicht an Einwilligung oder angelegtem Plan.
- Ein Account kann mehrere Pläne für mehrere Menschen enthalten; deshalb können aus Planzahlen keine eindeutigen Patientenzahlen abgeleitet werden.
- Keine medizinischen Details im Backend, keine neuen Tracker. Feedback darf keine Gesundheitsangaben enthalten, es ist aber technisch noch unverschlüsselt in der MediPlan-SQLite gespeichert; vor Live-Betrieb Datenschutz-/Sicherheitsprüfung durchführen.
- Zugriffe auf Konto-Liste und Feedback sind über separate Berechtigungen zu beschränken.
- Pfadwechsel kann Kollisionen mit bestehenden CW-Seiten verursachen; vor produktiven Änderungen prüfen.
- ## Vor Live-Einsatz testen
- CW-Core/PHP-Modulupdate aus alpha11 im Laragon-Testsystem, bestehende Patientenpläne nicht verändern.
- Freigabe/Öffentliche Startseite/anonym sowie Dashboard/Login/Registrierung/2FA auf neuem und bisherigem Pfad; Cookies/WAF/CSRF.
- Teilnehmerliste ohne Medikamente, ohne Cross-Tenant-Daten; Berechtigungen für Verwaltung und Feedback.
- Feedback-Formular: CSRF, Rate-Limit, Tenant-/Kontotrennung, Statusänderung/Löschung; Datenschutz-Löschung.
- Responsivität Bild und Feedbackformular (Desktop/Smartphone).
- # CW MediPlan 0.1.0-alpha11
- ## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha11
11.10.2026
Stable
Version 0.1.0-alpha11
## Änderungen
- Neues großformatiges Startseitenbanner mit CI-Farben (grün, pink); das Dashboard bleibt unverändert.
- Regelmäßige Einnahmen: Wochentage Mo–So pro Medikament auswählbar.
- Alternierende Menge je Tagesabschnitt (Phase A/B) mit explizitem Startdatum; Wechsel erfolgt nur über geplante Einnahmetage hinweg.
- Heutige Dosen und Bestätigungen einschließlich Sammelbestätigung und automatischem Lagerabzug respektieren die effektive Menge.
- XML-Export/Import enthält Wochentage, Wechselstatus, Startdatum und Phase-B-Dosen; ältere MediPlan-XMLs bleiben kompatibel.
- Browser-Druck, PDF und Medikationsübersicht weisen die Regeln aus; optional druckbare 14-Tage-Vorschau für Sonderregeln.
- ## Migration und Sicherheit
- Bestehende Medikamente erhalten per idempotenter Migration `schedule_days=1234567` und `alternate_enabled=0`.
- Bereits gespeicherte Bestätigungen/Lagerbestände werden nicht umgerechnet oder gelöscht.
- XML-Import ist wie bisher ausdrücklich **ersetzend** und löscht im Zielplan die vorherigen Medikamente und deren Historie; vorher exportieren.
- Kein automatisches Empfehlen oder Verändern medizinischer Dosen. Regeln nur nach ärztlicher Rücksprache eintragen.
- Registrierung, Consent und WAF aus alpha10.1 unverändert.
- ## Vor Live-Einsatz
- Sichtprüfung mit Laragon/PHP 8.3 und CW 3.0.0-beta11.23 erforderlich.
- Wochentagswechsel, PDF, XML-Roundtrip und Sammelbestätigung mit Testmedikamenten im Browser prüfen.
- # CW MediPlan 0.1.0-alpha10.1 – 11.10.2026
- ## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha10.1
11.10.2026
Stable
Version 0.1.0-alpha10.1
## Originalbilder in der CW-Modulübersicht
- Originaldatei `assets/module/icon.png`: quadratisches CW-MediPlan-Kalender-Logo mit pinkfarbener Kapsel **und Schriftzug** (1254 × 1254).
- Originaldatei `assets/module/cover.png`: breites MediPlan-Teaserbild mit Kalender, Einnahmezeiten und Branding (1672 × 941).
- `module.json` referenziert die beiden Original-PNG-Dateien ausdrücklich unter `presentation.icon` und `presentation.cover`, statt der früheren SVG-/WebP-Vorschauen.
- Die WebP-Dateien wurden passend zu den Originalbildern aktualisiert; ältere SVG-Assets bleiben aus Bestandsschutz vorhanden, werden aber nicht als Modulbilder referenziert.
- Sämtliche Funktionen und Sicherheitsänderungen aus alpha10, einschließlich WAF-Scopes und `/mediplan/start`, bleiben unverändert.
- Keine Änderung an Datenbanken, Benutzern, Medikationsplänen, Einträgen oder Runtime-Speicher.
- # CW MediPlan 0.1.0-alpha10 – 11.10.2026
- ## Modulbilder der ausgewählten MediPlan-Markenwelt
- `presentation.icon` verweist jetzt auf `assets/module/icon.webp` (Kalender mit pinkfarbener Kapsel).
- `presentation.cover` verweist jetzt auf `assets/module/cover.webp` (Original-MediPlan-Teaserbild).
- Der MediPlan-Favicon nutzt das neue Modul-Icon. Alte SVG-Dateien bleiben im Paket vorhanden, werden aber nicht mehr referenziert.
- Das eigene App-Logo aus alpha9 bleibt unverändert.
- ## WAF: Lesezugriffe und Formulare getrennt
- MediPlan-Routen mit `GET`/`HEAD` nutzen den CW-WAF-Scope `public`: Anfrageprüfung und Schutzmodule bleiben aktiv, aber das allgemeine `frontend_form`-Rate-Limit wird bei jedem Seitenaufruf nicht mehr verbraucht.
- `POST`-Anfragen (Login, Registrierung, Konto, Einnahmebestätigung, Stammdatenänderungen) behalten `frontend_form` mit Rate-Limit, Request-Limits, Signaturprüfung und CW-Customers-Schutzmechanismen.
- Die alten `waf_limits.limit/window` waren in der vorhandenen CW-WAF **keine** gültigen individuellen Ratenregeln und wurden entfernt; die CW-WAF-Core-Einstellungen werden nicht verändert.
- Diese Änderung ist ein sicherer erster Schritt gegen unnötige 429 durch Seitenaufrufe, **keine** spezielle FE-Konto-Ausnahme im Core. Für separate authentifizierte FE-Raten wäre später eine geprüfte Core-Erweiterung nötig.
- ## Startseite bei bestehender Anmeldung
- `/mediplan` leitet angemeldete Benutzer weiterhin zum Dashboard.
- `/mediplan/start` zeigt die MediPlan-Informationsseite auch angemeldeten Benutzern.
- Die Navigation enthält für angemeldete Benutzer `Über MediPlan`.
- Statt Registrierungsbuttons erhält ein angemeldeter Benutzer dort den Link zu seinen Medikationsplänen.
- ## Bestandsschutz
- Keine Datenbankmigration, keine Änderung vorhandener Medikationspläne, Einnahmen oder Konten.
- Keine Veränderung am CW-Core, CW Customers oder der WAF-Konfiguration.
- Gesundheitsdaten bleiben durch die bestehende App ohne Store-/Index-Caching geschützt.
- # CW MediPlan 0.1.0-alpha9 – 11.10.2026
- ## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha9
11.10.2026
Stable
Version 0.1.0-alpha9
## Schnellbestätigung direkt im Dashboard
- Vier Tagesabschnitte neben der Dashboard-Begrüßung: Morgens, Mittags, Abends, Zur Nacht.
- Zahl der offenen und bestätigten Einträge sowie ausklappbare Medikamentenliste je Abschnitt.
- „Alle als eingenommen markieren“ bestätigt ausschließlich zuvor offene Einträge **eines** Abschnitts **eines** Medikationsplans nach ausdrücklicher Rückfrage. Stale-Seiten-Schutz: Datum und Anzahl der offenen Einträge müssen beim Absenden noch stimmen.
- Bei mehreren Plänen sichere Planauswahl, niemals Sammelbestätigung verschiedener Personen.
- Server: eine Transaktion für den gesamten Abschnitt, Kontozuordnung/CSRF geprüft, doppelte Einnahmebestätigung und doppelte Lagerabzüge ausgeschlossen.
- Bestand wird nur bei pro Plan aktivierter Automatik und eindeutig berechenbarer Menge verringert; Nachbestellautomatik bleibt standardmäßig aus.
- Bereits bestätigte Einträge erscheinen grau; Rückgängig weiterhin in der Einzelliste.
- Keine neue Tabelle, keine Änderung bestehender Daten, kein Core-/Customers-Update.
- # CW MediPlan 0.1.0-alpha8 – 11.10.2026
- ## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha8
11.10.2026
Stable
Version 0.1.0-alpha8
## MediPlan-Konto als eigene App-Seiten
- Neue, eigenständige Frontendformulare `/mediplan/registrieren`, `/mediplan/anmelden` und `/mediplan/konto`.
- Weitere MediPlan-Seiten: `/mediplan/profil`, `/mediplan/passwort-aendern`, `/mediplan/email-aendern`, `/mediplan/passwort-vergessen`, `/mediplan/passwort-zuruecksetzen`, `/mediplan/bestaetigung-anfordern`, `/mediplan/bestaetigen` und POST `/mediplan/abmelden`.
- Sämtliche Benutzer- und Passwortoperationen nutzen ausschließlich die vorhandenen Service-APIs von **CW Customers dev17**. Keine parallele Passwort-/Sessiondatenbank, keine Umgehung von Customers-CAPTCHA, CSRF, E-Mail-Verifikation oder 2FA.
- Bei aktivierter CW-2FA führt der Login zu dessen offiziellem Challenge-Screen und anschließend nach `/mediplan/dashboard`.
- Sicherheits-E-Mails aus CW Customers (E-Mail-Bestätigung, Passwortreset, E-Mail-Änderung) erzeugen weiterhin Links zu den originalen `/account/...`-Routen von Customers. Ihre Ziel-URLs werden in alpha8 **nicht** per Modifikationen am Fremdmodul überschrieben.
- Ein im Kundenkonto gespeichertes weiteres Profil-/Kontaktfeld wird beim Bearbeiten des MediPlan-Profils beibehalten. Konfigurierbare, gegebenenfalls als Pflichtfeld definierte Registrierungsfelder werden angezeigt.
- ## Neues Dashboard
- Dashboard im Petrolgrün/Pink-Branding, vergrößertes Kalender-/Pillen-Logo.
- Tagesüberblick, kompakte Kennzahlen, Einnahme-Fortschritt, automatisch vorgemerkte Nachbestellungen, Schnelleinstieg in jede Plan-Checkliste.
- Kennzahlen werden ausschließlich aus Daten des angemeldeten CW-Customers-Accounts ermittelt.
- Keine pseudo-genauen Einnahmezeiten; aktuelle Tagesabschnitte sind Orientierung, keine Erinnerung.
- Beide Automatikschalter bleiben pro Plan **standardmäßig aus**. Keine Änderung an vorhandenen Plan-/Medikamentendaten.
- ## Weiterhin erforderlich vor öffentlichem Betrieb
- Medizinische Daten sind besonders schützenswert; das Modul ist weiterhin ein Alpha-Stand.
- Datenschutz, Storage-/Backup-Verschlüsselung, Penetrationstest, Fehlerbehandlung, Caching und alle Kunden-Flows in der echten Installation prüfen.
- Entwicklungsumgebung hier besitzt keine PHP-Erweiterungen pdo_sqlite/mbstring/SimpleXML: funktionale End-to-End-Tests gegen eine echte CW-Installation konnten hier nicht durchgeführt werden.
- # CW MediPlan 0.1.0-alpha7 – 10.10.2026
- ## Neue Markenwelt
- Integriertes neues MediPlan-Logo in Petrolgrün/Türkis und Pink (lokale PNG-Dateien: brand-icon.png, brand-logo.png).
- MediPlan-App-Header: größeres farbiges Markenzeichen und Wortmarke „CW MediPlan“.
- Eigenes Farbschema auf der MediPlan-Website, ausdrücklich auf die Standalone-Routen beschränkt. CW-Core, CW Customers und allgemeines CW-Frontend bleiben unverändert.
- Klare medizinische Zustände bleiben: Fehlermeldungen rot, Bestellwarnungen bernsteinfarben, erledigte Einnahmen grau.
- Überarbeitetes SVG-Modulicon und SVG-Cover in passender Farbwelt.
- Keine Änderungen am Medikations-Datenmodell, bestehenden Plänen, Einnahmen, PDF oder API-Routen.
- # CW MediPlan 0.1.0-alpha6 – 10.10.2026
- ## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha6
10.10.2026
Stable
Version 0.1.0-alpha6
## Neues eigenständiges App-Layout
- MediPlan nutzt die von CW unterstützte eigenständige `standalone`-Frontendroute. CW-Projekt-Header, -Footer, Tracking- und Frontend-Editor-Injektionen bleiben außen vor.
- Vollständiges MediPlan-HTML mit eigenem Header, Navigationsleiste, Konto-Einstieg, responsiver Darstellung, Datenschutz-/Impressumslinks und Footer.
- App-Handbuch unter `/mediplan/hilfe`; originale Modulhilfe bleibt erhalten.
- PDF/XML-Download-Routen unverändert, Browserdruck ohne App-Chrome.
- CW-Core und Customers unverändert; vollständiges installierbares Modul.
- # CW MediPlan 0.1.0-alpha5 – 10.10.2026
- ## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha5
10.10.2026
Stable
Version 0.1.0-alpha5
## Neu
- „Meine Einnahmen heute“: Checkliste mit Tagesabschnitten, Bestätigung und Rückgängig; erledigte Einträge werden grau.
- Pro Plan zwei unabhängige Automatikoptionen, beide standardmäßig **aus**: Bestandsabzug nach bestätigter Einnahme und Vormerkung zur Nachbestellliste bei Mindestbestand.
- Pro Medikament optionale Felder für aktuellen Lagerbestand und Mindestbestand.
- Atomare, gegen doppelte Bestätigung gesicherte Einnahmeprotokolle; ein Bestand wird ausschließlich bei eindeutiger Dosis und ausreichend hinterlegtem Bestand reduziert; Rückgängig bucht nur tatsächlichen Abzug zurück.
- Nachbestellliste berücksichtigt bei aktivem Schalter automatisch Medikamente an/unter der Mindestgrenze; keinerlei automatische Apotheker-Bestellung.
- XML-Export/-Import ergänzt optional Bestand und Mindestbestand; Import löscht auch die protokollierten Einnahmen des ersetzten Plans, Hinweis in Importansicht.
- Routenauflösung unterstützt nun explizit `/pdf` sowie `/einnahmen`.
- ## Migration / Sicherheit
- Bestehende Medikamente unverändert; neue Flags 0 und Bestände NULL.
- Mit dem angepassten Einwilligungstext ist eine erneute ausdrückliche Gesundheitsdaten-Einwilligung erforderlich (Consent-Version alpha5).
- Alle protokollierten Einnahmen sind persönliche Gesundheitsdaten und werden beim Löschen per Fremdschlüsselkaskade entfernt.
- Kein Cronjob, keine Erinnerungsnachrichten, kein Tracking; Livefreigabe weiterhin ausgeschlossen, solange Sicherheitsprüfung aussteht.
- # CW MediPlan 0.1.0-alpha4 – 10.10.2026
- ## Behoben und ergänzt
- Echte serverseitige PDF-Ausgabe für Medikationspläne unter `/mediplan/plan/{id}/pdf`.
- Druckansicht mit zusätzlichem Button `PDF herunterladen`.
- Browser-Druckansicht blendet das normale CW-Rahmenlayout aus.
- Abschlussvermerk in Druck/PDF: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- # CW MediPlan 0.1.0-alpha3 – 10.10.2026
- ## Behoben und ergänzt
- Druck-/PDF-Ansicht blendet das normale CW-Rahmenlayout im Browserdruck aus.
- Zusätzlicher Abschlussvermerk in der PDF-Ausgabe: "Erstellt mit CW MediPlan · Entwickler: Johannes Teitge".
- Print-Isolierung per JavaScript für Browserdruckdialoge, damit Footer/Navigationsreste von CW nicht mitgedruckt werden.
- # CW MediPlan 0.1.0-alpha2 – 10.10.2026
- ## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha2
10.10.2026
Stable
Version 0.1.0-alpha2
## Behoben und ergänzt
- Frontendroute vor SQLite-Initialisierung; kontrollierte 503 bei Startfehlern statt allgemeiner 404.
- Frontend-Link und CW-Customers-Status in den MediPlan-Einstellungen.
- Optionale Ein-Klick-Diensteregistrierung in Consent & Privacy ohne Modifikation am Consent-Modul.
- Berechtigungsprüfung sowohl für MediPlan- als auch Consent-Schreibrechte und CSRF-Schutz.
- Keine automatischen Cookies, kein Tracking, keine Änderung an gespeicherten Medikationsplänen.
- # CW MediPlan 0.1.0-alpha1 – 10.10.2026
- ## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0
v0.1.0-alpha1
10.10.2026
Stable
Version 0.1.0-alpha1
## Neu
- CW-Modul statt eigenständiger MediPlan-Installation.
- Ausschließliche Identity-Anbindung an CW Customers dev17; keine duplizierten Benutzertabellen.
- Moderner responsiver Frontendbereich mit separaten Seiten statt großer Editierliste.
- Persönliche Pläne, Medikamente, Zeitpunkte, Suche, Sortierung, Druck, Nachbestellliste und XML.
- Einwilligung in die Verarbeitung der eingegebenen Gesundheitsdaten.
- Persönliche Löschung aller Pläne und der MediPlan-Einwilligung.
- Backend-Übersicht mit technischen Anzahlen, Freigabeschalter, Handbuch.
- CW-Tracking-Dokumentfilter für dessen eindeutig markierte Skript-Tags.
- ## Absichtlich noch nicht enthalten
- Ungeprüfter öffentlicher Livebetrieb, automatische Alt-Benutzermigration, Shared Plans/Angehörigenberechtigungen, QR, eMP/BMP-Import nach Fremdstandard, Medikationsinteraktionskontrollen, automatische Erinnerungen, revisionssichere Historie, verschlüsselte Datenablage und getestete Disaster-Recovery-Infrastruktur.
- Patienten-/Medikamentendaten sind im Backend bewusst nicht sichtbar.
- ## Vor öffentlichem Einsatz
- Verpflichtende Datenschutz- und Penetrationstests und Ausschluss sämtlicher Tracking-/Caching-Quellen auf Gesundheitsdaten-Routen.
- Backup-/Restore-Konzept und ggf. Anwendungs-/Datenverschlüsselung.
CW ≥ 3.0.0-beta11.23 PHP ≥ 8.3.0