Chaplain Care Tracker

A simple tool for remembrance and follow-up care

No login required Local device storage Text, Word, and PDF friendly exports
Today
Compassion remembered is compassion continued.
Add a Care Entry
Local only
Exports & Backups

Tip: Text opens in Notepad or Word. The Word export creates a simple document that opens in Microsoft Word. “Print / Save as PDF” uses your computer’s built-in print dialog.
Weekly Care View

Use this when you just want the names that need attention now or soon.

0
Total Entries
0
Overdue Follow-Ups
0
Due in 7 Days
0
Recently Contacted
Care Progress
0% current
Care Dashboard
Track anniversaries, illness follow-ups, and meaningful check-ins.
Overdue Due Now / Soon Recently Contacted Future Follow-Up
Name Situation Event Date Next Follow-Up Status Action Tools
No entries yet. Add your first care reminder on the left.
`; downloadFile(htmlDoc, weeklyOnly ? 'weekly-care-list.doc' : 'chaplain-care-tracker.doc', 'application/msword'); }); document.getElementById('printPdfBtn').addEventListener('click', function(){ window.print(); }); document.getElementById('exportJsonBtn').addEventListener('click', function(){ downloadFile(JSON.stringify(entries, null, 2), 'chaplain-care-backup.json', 'application/json;charset=utf-8'); }); document.getElementById('backupNowBtn').addEventListener('click', function(){ downloadFile(JSON.stringify(entries, null, 2), 'chaplain-care-backup.json', 'application/json;charset=utf-8'); const modalEl = document.getElementById('backupReminderModal'); const instance = bootstrap.Modal.getInstance(modalEl) || new bootstrap.Modal(modalEl); instance.hide(); }); document.getElementById('importJsonFile').addEventListener('change', function(e){ const file = e.target.files && e.target.files[0]; if(!file) return; const reader = new FileReader(); reader.onload = function(evt){ try{ const data = JSON.parse(evt.target.result); if(!Array.isArray(data)) throw new Error('Invalid backup format'); if(!confirm('Replace current entries with this backup?')) return; entries = data; saveEntries(); renderTable(); clearForm(); alert('Backup restored.'); } catch(err){ alert('That backup file could not be imported.'); } finally { e.target.value = ''; } }; reader.readAsText(file); }); document.getElementById('printWeeklyBtn').addEventListener('click', function(){ weeklyOnly = true; renderTable(); setTimeout(() => window.print(), 100); }); document.getElementById('showAllBtn').addEventListener('click', function(){ weeklyOnly = false; renderTable(); }); document.getElementById('resetFiltersBtn').addEventListener('click', function(){ searchInput.value = ''; statusFilter.value = 'all'; situationFilter.value = 'all'; weeklyOnly = false; renderTable(); }); searchInput.addEventListener('input', renderTable); statusFilter.addEventListener('change', renderTable); situationFilter.addEventListener('change', renderTable); document.addEventListener('DOMContentLoaded', function(){ if(todayDisplay){ todayDisplay.textContent = new Date().toLocaleDateString(undefined, { weekday:'long', year:'numeric', month:'long', day:'numeric' }); } loadEntries(); renderTable(); setTimeout(maybeShowBackupReminder, 500); }); })();