👋 Who is using

CRM Tools?

Select your name to continue

Loading…
{{ pageLabels[currentPage] }}
{{ initials(cg.Name) }}
{{ cg.Name }}
{{ [cg.Position,cg.Manager].filter(Boolean).join(' · ') }}
{{ selectedManager }}
👋 Welcome, {{ selectedManager?.split(' ')[0] }}
{{ activeCaregivers.length }} active caregiver{{ activeCaregivers.length!==1?'s':'' }} on your team
{{ new Date().toLocaleDateString('en-US',{weekday:'short',month:'short',day:'numeric'}) }}
Team Engagement Health
{{ tpPctTouched }}%
touched
{{ touchedCount90 }} touched in last 30 days
{{ activeCaregivers.length - touchedCount90 }} not yet reached
0% Goal: 100%
{{ dashCertsExpiringThisMonth }}
Certs Expiring This Month
{{ needsTouchpointTiered.length }}
Need Touchpoint
{{ dashOpenActions }}
Open Action Items
{{ dashHsOverdue }}
HS Overdue (4+ wks)
Touchpoint Activity — Last 8 Weeks
{{ tpWeeklyTrend.slice(-8).reduce((s,w)=>s+w.count,0) }} touchpoints
📊 Manager Activity Report
to
Manager Touchpoints Audits Edu Overdue
(6+ wks)
Hires Outstanding High Absences
(6+)
{{ row.name }} {{ row.touchpoints }} {{ row.audits }} {{ row.eduOverdue }} {{ row.hiresOutstanding }} {{ row.highAbsences }}
📅 Onboarding Schedule
{{ onboardingSchedule.filter(h=>h._status!=='past').length }} upcoming
No onboarding dates scheduled yet
{{ activeCaregivers.length }}
Active Caregivers
{{ needsTouchpoint.length }}
Need Touchpoint
{{ expiringCerts.length }}
Certs Expiring
{{ auditsThisMonth.length }}/10
Audits This Month
Priority Alerts
🔔 Needs Touchpoint {{ needsTouchpoint.length }}

All up to date!

👤
{{ cg.Name }}🎓
{{ cg.Position||'' }}
{{ lastCheckinLabel(cg) }}
📋 Certs Expiring Soon {{ expiringCerts.length }}
🎓

None in next 60 days

{{ c.name }}
{{ c.cert }} · tap to edit
{{ c.daysLeft<0?'EXPIRED':c.daysLeft===0?'Today':c.daysLeft+'d' }}
🆕 New Hires View All →
{{ activeNewHires.length }}
Active
✅ All on track
⚠️ {{ hiresWithOverdue.length }} overdue

No overdue milestones

{{ h.hire.Caregiver_Name }}
{{ m.label }}
Reports & Alerts
🎓 HealthStream Overdue {{ hsOverdueSummary.filter(h=>h.isCritical).length }} critical {{ hsOverdueSummary.filter(h=>h.daysOverdue>=28).length }}

No overdue HealthStream items

{{ h.name }}
{{ h.courses.slice(0,2).join(', ') }}{{ h.courses.length>2?' +'+( h.courses.length-2)+' more':'' }}
{{ h.daysOverdue }}d{{ h.tier==='critical'?' 🔴':h.tier==='moderate'?' 🟡':'' }}
Report: {{ fmtDate(hsLastReportDate) }}
📅 Attendance Alerts {{ attendanceSummary.filter(a=>a.total>=5).length }} high {{ attendanceSummary.filter(a=>a.total>=3).length }}

{{ attendanceLastReportDate ? 'No caregivers with 3+ incidents' : 'No report imported yet' }}

{{ a.name }}
{{ a.callIns }} call-in{{ a.callIns!==1?'s':'' }}{{ a.tardies?' · '+a.tardies+' tardy/tardies':'' }}
{{ a.total }} total
Report: {{ fmtDate(attendanceLastReportDate) }}
🔁 My Follow-up Items {{ myFollowUpItems.length }}
{{ arVal(item.Category) }} · {{ fmtDate(item.Date) }}
{{ arVal(item.Event_Description)||item.Report_Details||'—' }}
{{ item.Report_Details }}
{{ tpStatsThisMonth }}
Touchpoints This Month
{{ tpStatsThisWeek }}
This Week
{{ tpPctTouched }}%
Team Touched (90d)
{{ tpAvgDays??'—' }}
Avg Days Since Check-In
Touchpoint Activity — Last 12 Weeks
🔔 Needs Touchpoint {{ needsTouchpointTiered.length }}

All caught up — everyone touched in last 90 days!

Never Touched
👤
{{ t.cg.Name }}
{{ t.cg.Position||'—' }}
Never
90+ Days
👤
{{ t.cg.Name }}
{{ t.cg.Position||'—' }}
{{ t.days }}d ago
60–90 Days
👤
{{ t.cg.Name }}
{{ t.cg.Position||'—' }}
{{ t.days }}d ago
30–60 Days
👤
{{ t.cg.Name }}
{{ t.cg.Position||'—' }}
{{ t.days }}d ago
📋 Recent Activity last 25 check-ins
👤

No check-ins recorded yet.

{{ initials(ci.name) }}
{{ ci.name }} {{ ci.type }} {{ fmtDate(ci.date) }}
{{ ci.items.join(' · ') }}
📝 {{ ci.notes }}
📊 Tracked Items Overview
Loading…
📋

No tracked items configured yet

{{ stat.name }}
{{ stat.count }}
{{ expandedTrackedItem===stat.name?'▲':'▼' }}
No reviews recorded yet
{{ rev.Caregiver_Name }}
Notes:
{{ rev.Notes||'No notes recorded' }}
{{ fmtDate(rev.Date) }}
⚠️ Certifications — Expiring Within 2 Months Click to update
{{ c.name }}
{{ c.cert }}
{{ c.daysLeft<0?'EXPIRED':c.daysLeft===0?'Today!':c.daysLeft+' days left' }}
🎓 HealthStream Overdue Report: {{ fmtDate(hsLastReportDate) }}

{{ hsLastReportDate ? 'No overdue items for your caregivers' : 'No report imported yet — click Import Report to upload' }}

{{ hsOverdueSummary.filter(h=>h.isCritical).length }} ≥ 6 weeks {{ hsOverdueSummary.filter(h=>h.isModerate).length }} 4–6 weeks {{ hsOverdueSummary.filter(h=>h.tier==='warning').length }} < 4 weeks
{{ h.name }}
{{ h.courses.join(' · ') }}
{{ h.daysOverdue }}d overdue{{ h.tier==='critical'?' 🔴':h.tier==='moderate'?' 🟡':'' }}
Certification Records
{{ eduTableFiltered.length }} caregivers · tap any cell to edit
Certification Compliance — % of Team Current
📋 All Certifications
Caregiver BLS ACLS PALS RN License FFOC Restraints TNCC
No caregivers match.
{{ row.caregiver.Name }}
{{ row.caregiver.Position||'' }}
{{ row.BLS_Expiration?fmtDate(row.BLS_Expiration):'+ Add' }} {{ row.ACLS_Expiration?fmtDate(row.ACLS_Expiration):'+ Add' }} {{ row.PALS_Expiration?fmtDate(row.PALS_Expiration):'+ Add' }} {{ row.RN_License_Expiration?fmtDate(row.RN_License_Expiration):'+ Add' }} {{ row.FFOC?fmtDate(row.FFOC):'+ Add' }} {{ row.Restraints?fmtDate(row.Restraints):'+ Add' }} {{ row.TNCC?fmtDate(row.TNCC):'+ Add' }}
{{ attHighRisk }}
High Risk (5+)
{{ attTotalCallIns }}
Total Call-Ins
{{ attTotalTardies }}
Total Tardies
{{ attTotalIncidents }}
Total Incidents
Top Attendance Concerns
📅 Attendance Tracker Report: {{ fmtDate(attendanceLastReportDate) }}
📅

{{ attendanceLastReportDate ? 'No attendance records for your caregivers' : 'No report imported yet — click Import Report to upload' }}

{{ attendanceSummary.filter(a=>a.total>=5).length }} high (5+) {{ attendanceSummary.filter(a=>a.total>=3&&a.total<5).length }} moderate (3–4) {{ attendanceSummary.filter(a=>a.total<3).length }} low (1–2)
{{ initials(a.name) }}
{{ a.name }}
{{ a.callIns }} call-in{{ a.callIns!==1?'s':'' }} {{ a.tardies }} tardy/tardies {{ a.total }} total Last: {{ a.lastDate?fmtDate(a.lastDate.toISOString().split('T')[0]):'—' }}
{{ expandedAttendance.has(a.name)?'▲':'▼' }}
{{ entry.Call_Type }}
{{ entry.Comment }}
📅 Onboarding Schedule
{{ onboardingSchedule.filter(h=>h._status!=='past').length }} upcoming
No onboarding dates scheduled yet
Loading…

No milestones due this week

🎉

No active new hires

{{ hire.Caregiver_Name }}
🏥 {{ hire.Unit||'No unit' }} 📅 {{ fmtDate(hire.Start_Date) }} ⏱ {{ daysSince(hire.Start_Date) }}d in 👤 {{ hire.Manager }}
⚠️ {{ hireMilestones(hire).filter(m=>m.urgency==='overdue').length }} overdue item(s)
{{ hireMilestones(hire).filter(m=>m.done).length }}/{{ hireMilestones(hire).length }} complete · tap for details
{{ m.label }}
{{ m.dueLabel }}
{{ arMonthLabel }}
Loading…
{{ cat.icon }} {{ cat.label }} {{ arByCategory('Active')[cat.id].length }}
No entries this month
{{ arVal(item.Location) }}
{{ arVal(item.Event_Description)||'—' }}
📝 {{ item.Report_Details }}
👤 Reported by: {{ item.Reported_By }}
⚡ {{ arVal(item.Action_Items) }}
👤 {{ item.Caregiver_Name }}
🔁 Follow-up: {{ item.Follow_Up }}

No kudos this month — add one!

{{ kudo.To }}
From: {{ kudo.From||'—' }}
{{ kudo.Why }}
✓ Delivered

No completed items this month

{{ cat.icon }} {{ cat.label }} {{ arByCategory('Completed')[cat.id].length }}
✓ Complete {{ arVal(item.Location) }}
{{ arVal(item.Event_Description)||'—' }}
📝 {{ item.Report_Details }}
👤 Reported by: {{ item.Reported_By }}
⚡ {{ arVal(item.Action_Items) }}
👤 {{ item.Caregiver_Name }}
🔁 Follow-up: {{ item.Follow_Up }}
FTE Breakdown
Headcount by Unit
🔍 Filters {{ pcActiveFilterCount }} active
{{ pcActiveFiltered.length }} active{{ pcShowTermed && pcTermedFiltered.length ? ' · ' + pcTermedFiltered.length + ' termed' : '' }}
{{ pcActiveFiltered.length }}
Active Headcount
{{ pcTotalFTE.toFixed(1) }}
Total FTEs
{{ pcAvgFTE.toFixed(2) }}
Avg FTE
{{ pcTermsThisMonth }}
Terms This Month
{{ pcTermsYTD }}
Terms YTD
{{ pcNewHiresThisMonth }}
New Hires This Month
{{ pcNewHiresYTD }}
New Hires YTD
📊 FTE Breakdown

No data

{{ row.fte }}
{{ row.count }} {{ row.totalFte.toFixed(1) }} FTE
👤 Role Mix

No data

{{ row.position||'Unknown' }}
{{ row.count }} {{ row.totalFte.toFixed(1) }} FTE
🏥 Skill Mix by Unit (multi-unit counts overlap)

No data

{{ row.unit||'Unknown' }}
{{ row.count }}
🕐 Shift Mix

No data

{{ row.shift||'Not Set' }}
{{ row.count }} {{ row.totalFte.toFixed(1) }} FTE
🧠 Advanced Competencies
{{ row.comp }}
{{ row.count }}
🏥 ITC / Travel Caregivers
{{ pcItcCaregivers.length }}
{{ itcStats.count }}
Total ITC
{{ itcStats.avgRate }}
Avg Rate
{{ itcStats.activeContracts }}
Active Contracts
Shift
{{ s.label }}: {{ s.count }}
Units
{{ u.unit }}: {{ u.count }}
Name Manager Rate Unit Contract 1 Contract 2 Contract 3 Contract 4
{{ cg.Name }} {{ cg.Manager||'—' }} {{ cg.ITC_Rate||'—' }} {{ cg.ITC_Unit||'—' }} {{ fmtDate(cg.ITC_Contract_Start_1) }} → {{ cg.ITC_Contract_End_1?fmtDate(cg.ITC_Contract_End_1):'?' }} {{ fmtDate(cg.ITC_Contract_Start_2) }} → {{ cg.ITC_Contract_End_2?fmtDate(cg.ITC_Contract_End_2):'?' }} {{ fmtDate(cg.ITC_Contract_Start_3) }} → {{ cg.ITC_Contract_End_3?fmtDate(cg.ITC_Contract_End_3):'?' }} {{ fmtDate(cg.ITC_Contract_Start_4) }} → {{ cg.ITC_Contract_End_4?fmtDate(cg.ITC_Contract_End_4):'?' }}
👥 All Staff
{{ staffTableFiltered.length }} shown
{{ staffColsHidden.has(col.key)?'☐':'☑' }} {{ col.label }}
Name {{ pcSort.dir==='asc'?'▲':'▼' }} Manager {{ pcSort.dir==='asc'?'▲':'▼' }} Position {{ pcSort.dir==='asc'?'▲':'▼' }} Unit {{ pcSort.dir==='asc'?'▲':'▼' }} FTE {{ pcSort.dir==='asc'?'▲':'▼' }} Shift {{ pcSort.dir==='asc'?'▲':'▼' }} Job Code {{ pcSort.dir==='asc'?'▲':'▼' }} Employee ID {{ pcSort.dir==='asc'?'▲':'▼' }} Log-in ID {{ pcSort.dir==='asc'?'▲':'▼' }} Phone {{ pcSort.dir==='asc'?'▲':'▼' }} Hire Date {{ pcSort.dir==='asc'?'▲':'▼' }}
No caregivers match.
{{ cg.Name }}TERMED {{ cg.Manager||'—' }} {{ cg.Position||'—' }} {{ msString(cg.Unit)||'—' }} {{ fteValue(cg.Budgeted_FTE)||'—' }} {{ cg.Shift||'—' }} {{ cg['Job Code']||'—' }} {{ cg['Employee ID']||'—' }} {{ cg['Log-in ID']||'—' }} {{ cg['Phone number']||'—' }} {{ cg.Hire_Date?fmtDate(cg.Hire_Date):'—' }}
🎯 Focus Areas — top missing items
{{ item.missing }}
{{ item.label }}
{{ item.pct }}% missing
{{ auditsThisMonth.length }}/10
Completed This Month
{{ activeAudits.length }}
Drafts In Progress
{{ completedAudits.length }}
Total Completed
Start a New Audit
No matches found.
{{ cg.Name }} {{ cg.Position }}
No drafts in progress. Start a new audit above.
{{ rec.Caregiver_Name }}
{{ rec.Caregiver_Type }} · {{ fmtDate(rec.Audit_Date) }}
Manager: {{ rec.Manager_Name }}
Draft
No completed audits yet.
{{ rec.Caregiver_Name }}
{{ rec.Caregiver_Type }} · {{ fmtDate(rec.Audit_Date) }}
Manager: {{ rec.Manager_Name }}
Complete
✗ {{ item }}
✅ All items present
Range:
No completed audit data for the selected range.
Missing Item Frequency
{{ item.label }} {{ item.missing }} / {{ item.total }} ({{ item.pct }}%)