feat: track number of prescription repeats (#193)

* feat: track prescription repeats and refill reminders

* test: align backend and frontend suites with current prescription and UI behavior

* test: update frontend and backend expectations for latest reminders and refill flow
This commit is contained in:
Daniel Volz
2026-02-14 19:07:36 +01:00
committed by GitHub
parent edf42bb068
commit 8273b07231
37 changed files with 3331 additions and 4673 deletions
+31 -3
View File
@@ -88,6 +88,15 @@
"criticalMeds_other": "{{count}} Medikamente kritisch",
"lowMeds": "{{count}} Medikament knapp",
"lowMeds_other": "{{count}} Medikamente knapp",
"prescriptionNeeds": "Rezept knapp",
"prescriptionLowMeds": "{{count}} Rezept knapp",
"prescriptionLowMeds_other": "{{count}} Rezepte knapp",
"prescriptionCriticalMeds": "{{count}} Rezept aufgebraucht",
"prescriptionCriticalMeds_other": "{{count}} Rezepte aufgebraucht",
"needsPrescriptionRefill": "Rezept nachfüllen nötig",
"usedBy": "Verwendet von",
"refillsLeft": "{{count}} Nachfüllung übrig",
"refillsLeft_other": "{{count}} Nachfüllungen übrig",
"daysLeft": "{{days}} Tag übrig",
"daysLeft_other": "{{days}} Tage übrig",
"needsRefill": "Nachfüllen nötig"
@@ -133,6 +142,11 @@
"editEntry": "Medikament bearbeiten",
"newEntry": "Neues Medikament",
"badge": "Packungen + lose Tabletten",
"sections": {
"general": "Allgemein",
"stock": "Bestand & Dosis",
"prescription": "Rezept"
},
"commercialName": "Handelsname",
"genericName": "Wirkstoff",
"takenBy": "Eingenommen von",
@@ -206,6 +220,7 @@
"push": "Push",
"stockReminders": "Bestands-Erinnerungen",
"intakeReminders": "Einnahme-Erinnerungen",
"prescriptionReminders": "Rezept-Erinnerungen",
"enableHint": "Aktivieren Sie mindestens einen Kanal, um Benachrichtigungen zu erhalten.",
"skipTakenDoses": "Keine Erinnerungen für genommene Dosen",
"skipTakenDosesTooltip": "Sende keine Einnahme-Erinnerungen für Dosen, die heute bereits als genommen markiert wurden",
@@ -228,7 +243,7 @@
},
"schedule": {
"title": "Erinnerungsplan",
"stockCheck": "Bestandsprüfung",
"stockCheck": "Bestands- & Rezeptprüfung",
"dailyAt6": "Täglich um 6:00 Uhr",
"intakeCheck": "Einnahmeprüfung",
"15minBefore": "15 Min. vor geplanter Zeit",
@@ -236,6 +251,7 @@
"lastSent": "Letzte Benachrichtigung",
"lastStockSent": "Letzte Bestands-Erinnerung",
"lastIntakeSent": "Letzte Einnahme-Erinnerung",
"lastPrescriptionSent": "Letzte Rezept-Erinnerung",
"envHint": "Diese Werte können über REMINDER_HOUR und REMINDER_MINUTES_BEFORE in .env konfiguriert werden"
},
"stock": {
@@ -258,7 +274,8 @@
},
"stockReminder": {
"title": "Bestands-Erinnerung",
"description": "Benachrichtigung wenn Medikamentenbestand erreicht",
"description": "Bestands-Erinnerungen aktivieren",
"infoTooltip": "Benachrichtigungen umfassen alle Medikamente mit Niedrig- oder Kritisch-Status. Niedrig: Bestand wird knapp. Kritisch: Bestand ist kritisch niedrig — bald nachbestellen.",
"repeatDaily": "Täglich wiederholen",
"repeatTooltip": "Wenn aktiviert, wird täglich eine Erinnerung gesendet solange der Bestand kritisch ist. Andernfalls nur einmal pro Medikament bis zum Auffüllen."
},
@@ -364,6 +381,7 @@
"sending": "Wird gesendet...",
"sent": "Gesendet!",
"sendFailed": "Senden fehlgeschlagen",
"saveFailed": "Speichern fehlgeschlagen",
"networkError": "Netzwerkfehler",
"saving": "Wird gespeichert...",
"unsavedChanges": {
@@ -468,6 +486,7 @@
"downloadFilename": "medassist-export"
},
"refill": {
"saveFirst": "Speichere das Medikament zuerst, um Nachfüllen zu aktivieren",
"title": "Nachfüllen",
"packs": "Packungen hinzufügen",
"pillsToAdd": "Tabletten hinzufügen",
@@ -482,7 +501,16 @@
"packsAdded_other": "{{count}} Packungen",
"pillsAdded": "{{count}} Tablette",
"pillsAdded_other": "{{count}} Tabletten",
"button": "Nachfüllen"
"button": "Nachfüllen",
"viaPrescription": "Rezept"
},
"prescription": {
"enabled": "Rezept verfolgen",
"authorizedRefills": "Genehmigte Nachfüllungen",
"remainingRefills": "Verbleibende Nachfüllungen",
"lowThreshold": "Schwelle für Rezept-Erinnerung",
"expiryDate": "Rezeptablauf",
"useForRefill": "Rezept-Nachfüllung verwenden"
},
"editStock": {
"title": "Bestand korrigieren",
+31 -3
View File
@@ -88,6 +88,15 @@
"criticalMeds_other": "{{count}} medications critical",
"lowMeds": "{{count}} medication low",
"lowMeds_other": "{{count}} medications low",
"prescriptionNeeds": "Prescription low",
"prescriptionLowMeds": "{{count}} prescription low",
"prescriptionLowMeds_other": "{{count}} prescriptions low",
"prescriptionCriticalMeds": "{{count}} prescription empty",
"prescriptionCriticalMeds_other": "{{count}} prescriptions empty",
"needsPrescriptionRefill": "Needs prescription refill",
"usedBy": "Used by",
"refillsLeft": "{{count}} refill left",
"refillsLeft_other": "{{count}} refills left",
"daysLeft": "{{days}} day left",
"daysLeft_other": "{{days}} days left",
"needsRefill": "Needs refill"
@@ -133,6 +142,11 @@
"editEntry": "Edit medication",
"newEntry": "New medication",
"badge": "Packs + loose pills",
"sections": {
"general": "General",
"stock": "Stock & Dose",
"prescription": "Prescription"
},
"commercialName": "Commercial Name",
"genericName": "Generic Name",
"takenBy": "Taken by",
@@ -206,6 +220,7 @@
"push": "Push",
"stockReminders": "Stock Reminders",
"intakeReminders": "Intake Reminders",
"prescriptionReminders": "Prescription Reminders",
"enableHint": "Enable at least one channel below to receive notifications.",
"skipTakenDoses": "Skip reminders for taken doses",
"skipTakenDosesTooltip": "Don't send intake reminders for doses that have already been marked as taken today",
@@ -228,7 +243,7 @@
},
"schedule": {
"title": "Reminder Schedule",
"stockCheck": "Stock check",
"stockCheck": "Stock & prescription check",
"dailyAt6": "Daily at 6:00 AM",
"intakeCheck": "Intake check",
"15minBefore": "15 min before scheduled time",
@@ -236,6 +251,7 @@
"lastSent": "Last notification sent",
"lastStockSent": "Last stock reminder",
"lastIntakeSent": "Last intake reminder",
"lastPrescriptionSent": "Last prescription reminder",
"envHint": "These values can be configured via REMINDER_HOUR and REMINDER_MINUTES_BEFORE in .env"
},
"stock": {
@@ -258,7 +274,8 @@
},
"stockReminder": {
"title": "Stock Reminder",
"description": "Sends notification when medication stock reaches",
"description": "Enable stock reminders",
"infoTooltip": "Notifications include all medications with Low or Critical stock status. Low: stock is running low. Critical: stock is critically low — reorder soon.",
"repeatDaily": "Repeat daily",
"repeatTooltip": "When enabled, sends reminders every day while stock is critical. Otherwise, only notifies once per medication until restocked."
},
@@ -364,6 +381,7 @@
"sending": "Sending...",
"sent": "Sent!",
"sendFailed": "Failed to send",
"saveFailed": "Failed to save",
"networkError": "Network error",
"saving": "Saving...",
"unsavedChanges": {
@@ -468,6 +486,7 @@
"downloadFilename": "medassist-export"
},
"refill": {
"saveFirst": "Save medication first to enable refill",
"title": "Refill",
"packs": "Packs to add",
"pillsToAdd": "Pills to add",
@@ -482,7 +501,16 @@
"packsAdded_other": "{{count}} packs",
"pillsAdded": "{{count}} pill",
"pillsAdded_other": "{{count}} pills",
"button": "Refill"
"button": "Refill",
"viaPrescription": "Prescription"
},
"prescription": {
"enabled": "Track prescription",
"authorizedRefills": "Authorized refills",
"remainingRefills": "Remaining refills",
"lowThreshold": "Low-refill reminder threshold",
"expiryDate": "Prescription expiry",
"useForRefill": "Use prescription refill"
},
"editStock": {
"title": "Correct Stock",