Chapter 27: Reports & Analytics
Overview
The Reports module provides pre-built reports to help you monitor agency performance, track compliance requirements, and analyze clinical operations. Reports can be filtered by date range, branch, status, and other criteria, then exported to CSV or PDF for further analysis.
Reports Dashboard

Available Reports
The Reports main page displays four report cards:
1. Patient Census Report
- Icon: People icon (blue)
- Description: "All active patients with MRN, SOC date, episode dates, primary diagnosis, assigned clinician, and payer."
- Use Case: View your current patient list, track census numbers, analyze payer mix
- Best For: Daily census tracking, billing reports, admission reports
2. Episode Management Report
- Icon: Calendar icon (blue)
- Description: "Track episodes and recertification deadlines by patient, status, and reason for care."
- Use Case: Monitor upcoming recertifications, track episode expirations, identify pending assessments
- Best For: Compliance tracking, recert planning, episode status monitoring
3. Missed Visit Report
- Icon: Warning triangle (blue)
- Description: "Missed or cancelled visits for survey readiness. Filter by date, status, and branch."
- Use Case: Track missed and cancelled visits, prepare for state surveys, analyze compliance issues
- Best For: Survey preparation, quality improvement, visit compliance tracking
4. Recertification Due Report
- Icon: Calendar with checkmark (blue)
- Description: "Episodes with certification ending in the next 14 days (or 7-day / 8-14-day windows). Matches the home dashboard recert widget."
- Use Case: Plan upcoming recertifications, ensure timely OASIS completion
- Best For: Recertification planning, avoiding expired episodes
How to Access Reports
Click any report card to open that report.
Patient Census Report

Report Header
Back to Reports Button:
- Arrow icon on the left
- Returns to Reports dashboard
Title: "Patient Census Report"
Action Buttons (Top Right):
- Refresh - Reloads the report data
- Export CSV - Downloads report as CSV file (opens in Excel)
- Export PDF - Downloads report as PDF file (for printing or sharing)
Filters Section
The gray Filters box allows you to refine the report:
| Filter | Type | Description | Options |
|---|---|---|---|
| Search by name or MRN | Text input | Search for specific patient by name or medical record number | Free text |
| Status | Dropdown | Filter by patient/episode status | "All", "Active", "Discharged", "Pending", "Transferred", "Deceased" |
| Branch | Dropdown | Filter by branch (multi-branch agencies only) | List of your branches or "All" |
Apply Button:
- Blue button
- Applies selected filters to the report
- Reloads data with filtered results
Clear Filters Button:
- Gray button
- Resets all filters to default (All)
- Reloads full report
Report Table
The table displays patient census data with the following columns:
| Column | Description | Example |
|---|---|---|
| Patient Name | Full name (clickable link to patient profile) | "Mnul Abdi", "Abdi abdulasim" |
| MRN | Medical Record Number | "1028", "1040" |
| SOC Date | Start of Care date (episode start) | "2026-02-23", "2026-04-01" |
| Episode Start | Episode certification start date | "2026-04-01" |
| Episode End | Episode certification end date (60 days from start) | "2026-05-30" |
| Primary Diagnosis | Primary diagnosis from care order | "Essential (primary) hypertension", "Type 2 diabetes mellitus" |
| Assigned Clinician | Primary clinician for this patient | "RN Test Clinician", "Michael Rodriguez" |
| Payer | Primary insurance payer | "Blue Cross Blue Shield", "Medicare of Texas" |
| Branch | Branch name (if multi-branch) | "North Austin Branch", "—" (HQ) |
| Status | Episode status with color-coded badge | Green "ACTIVE", Gray "DISCHARGED", Yellow "PENDING", Blue "TRANSFERRED" |
Status Badge Colors
| Status | Badge Color | Meaning |
|---|---|---|
| ACTIVE | Green | Episode is active, patient receiving services |
| PENDING | Yellow | Patient admitted but episode not yet started (OASIS SOC not approved) |
| DISCHARGED | Gray | Episode ended, patient discharged |
| TRANSFERRED | Blue | Patient transferred to another facility |
| DECEASED | Gray | Patient deceased |
Pagination
Bottom of the table shows:
- Total items count
- Current page number
- Navigation arrows (< >)
- Page selector (1, 2, 3, ...)
Exporting the Report
Export CSV:
- (Optional) Apply filters to show only specific patients
- Click "Export CSV" button
- File downloads automatically (filename:
patient-census-YYYY-MM-DD.csv) - Open in Excel or Google Sheets
Use Cases for CSV:
- Import into accounting software
- Create pivot tables for analysis
- Share with finance department
- Track census trends over time
Export PDF:
- (Optional) Apply filters
- Click "Export PDF" button
- File downloads automatically (filename:
patient-census-YYYY-MM-DD.pdf) - Open in PDF viewer or print
Use Cases for PDF:
- Print for meetings
- Share with board of directors
- Compliance documentation
- Management reports
Note: Exports include ALL matching records (not just current page). If you have 500 patients and no filters, the export contains all 500.
Episode Management Report

Purpose
This report helps you track episodes and recertification deadlines to ensure timely OASIS assessments and avoid expired episodes.
Filters Section
| Filter | Type | Options |
|---|---|---|
| Search by name or MRN | Text input | Free text |
| Episode Status | Dropdown | "All", "Active", "Nearly Expiration", "Pending Assessment", "Pending QA Review", "Pending Physician Signature", "Expired", "Pending Discharge", "Discharged", "Deceased", "Cancelled", "On Hold" |
| Reason for Care | Dropdown | "All", "New Admission", "Recertification", "Resumption of Care" |
| Branch | Dropdown | Branch selector (multi-branch) |
Apply / Clear Filters buttons work the same as Patient Census Report.
Report Table
| Column | Description | Example |
|---|---|---|
| Patient Name | Full name (clickable link) | "Abe bela", "Nesredin Haji" |
| MRN | Medical Record Number | "43580", "43434" |
| Episode Date | Certification start date | "2025-11-26" |
| Episode Start | Episode start date (same as above in most cases) | "2026-01-26" |
| Episode End | Certification end date (60 days from start) | "2026-01-26" |
| Recent Clinician | Last clinician to visit patient | "—" (none yet) |
| Days Until Recert | Days remaining until recertification due | "—" (calculated) |
| Status | Episode status badge | Green "Active", Yellow "Pending Assessment", Gray "Discharged" |
| Reason for Care | Episode type | "New Admission", "Recertification" |
| Assigned Clinician | Primary clinician | "Abebc Godeen", "RN Test Clinician" |
| Physician | Ordering physician | "Nesredin Haji", "Barn Haji" |
| Branch | Branch name | "North Austin Branch", "West Coast Division" |
| Payer | Insurance payer | "Medicare of Texas", "Blue Cross Blue Shield" |
Key Status Values
| Status | Meaning | Action Required |
|---|---|---|
| Active | Episode is running normally | Monitor recert deadline |
| Nearly Expiration | Episode ending soon (within 14 days) | Schedule recertification OASIS |
| Pending Assessment | Recert OASIS due but not started | Clinician must complete OASIS |
| Pending QA Review | OASIS submitted, awaiting QA approval | QA team must review |
| Pending Physician Signature | OASIS approved, awaiting physician signature | Send to physician |
| Expired | Episode ended without recert or discharge | Critical - episode lapsed |
| Pending Discharge | Discharge OASIS in progress | Complete discharge assessment |
Use Cases
Weekly Recert Planning:
- Filter Status = "Nearly Expiration"
- See all episodes expiring in next 14 days
- Schedule recert visits for those patients
Tracking Pending OASISs:
- Filter Status = "Pending Assessment"
- Identify patients who need recert OASIS
- Assign to clinicians
Compliance Audit:
- Filter Status = "Expired"
- Investigate why episodes lapsed without recert or discharge
- Take corrective action
Missed Visit Report

Purpose
This report tracks missed and cancelled visits for quality monitoring and state survey preparation. Agencies must document reasons for missed visits and corrective actions.
Filters Section
| Filter | Type | Options |
|---|---|---|
| Search by name or MRN | Text input | Patient name or MRN |
| Status | Dropdown | "Missed & Cancelled" (all), "Missed", "Cancelled" |
| From Date | Date picker | Start date (format: dd/mm/yyyy) |
| To Date | Date picker | End date (format: dd/mm/yyyy) |
| Branch | Dropdown | Branch selector |
Report Table
| Column | Description | Example |
|---|---|---|
| Scheduled Date | Date the visit was originally scheduled | "2026-04-28", "2026-04-23" |
| Patient Name | Full name (clickable link) | "Amina Ali", "Abe bela" |
| MRN | Medical Record Number | "1025", "43585" |
| Status | Visit status badge | Gray "Cancelled" |
| Clinician | Clinician assigned to the visit | "Abebc Godeen", "—" (unassigned) |
| Branch | Branch name | "North Austin Branch" |
| Notes | Reason for cancellation or missed visit | "Cancelled - patient transferred to inpatient facility and discharged from agency on 2026-01-13" |
Understanding the Notes Column
The Notes column is critical for compliance. It shows:
- Why the visit was missed or cancelled
- What action was taken (if any)
- System-generated notes (e.g., "Cancelled - patient transferred...")
- Staff-entered notes (manual explanations)
Examples:
- "Cancelled - patient transferred to inpatient facility and discharged from agency on 2026-01-13"
- "Cancelled. Removed"
- "Cancelled - patient transferred to inpatient facility on 2025-12-25. Date cleared. Death OASIS was approved for this episode, visit cancelled to align with Deceased status."
Use Cases
Survey Preparation:
- Set date range to last 90 days
- Filter Status = "Missed"
- Review all missed visits
- Ensure all have documented reasons and follow-up notes
- Export PDF for survey binder
Quality Improvement:
- Run monthly (e.g., filter to last 30 days)
- Count missed visits per clinician
- Identify patterns (same clinician, same patient, specific visit types)
- Address root causes (scheduling issues, patient compliance, transportation)
Administrative Review:
- Filter by specific patient (search by name)
- See all their missed/cancelled visits
- Determine if patient needs additional support or discharge
Recertification Due Report
Purpose
Tracks episodes with certification ending soon (within 14 days or customizable windows). Helps ensure timely recertification OASISs are completed before episodes expire.
Note: This report matches the Recertification Due widget on the home dashboard (Chapter 2), but provides more detail and export capability.
Typical Use
- Run weekly (every Monday)
- Filter to "Next 7 Days" window
- See all episodes expiring this week
- Schedule recert visits for those patients
- Assign OASIS assessments to clinicians
Common Filters Explained
All reports share similar filter patterns:
Search by Name or MRN
- What: Free text search
- How it works: Searches both patient name (first and last) and MRN
- Example: Type "Ali" → Shows "Amina Ali" and "Ali abayo"
- Case-insensitive: "ali" and "Ali" return same results
Status Dropdown
- What: Filter by patient, episode, or visit status (varies by report)
- Options: Report-specific (Active, Discharged, Pending, etc.)
- Default: "All" (shows all statuses)
Date Range (From Date / To Date)
- What: Filter by date range for visits or episodes
- Format: dd/mm/yyyy (use date picker or type)
- Example: From = 01/01/2026, To = 31/01/2026 → Shows January 2026 only
- Tip: Leave blank to show all dates
Branch Dropdown (Multi-Branch Agencies Only)
- What: Filter by specific branch or "All"
- Visibility: Only appears if your agency has multiple branches
- Use Case: Branch managers can filter to see only their branch's data
Apply Button
- Clicking "Apply" executes the report with selected filters
- Report table reloads with filtered results
- Pagination resets to page 1
Clear Filters Button
- Clicking "Clear Filters" removes all filters
- Resets to default view (all records)
- Useful for starting fresh after complex filtering
Exporting Reports
All reports include Export CSV and Export PDF buttons.
Export CSV (Excel-Compatible)
How:
- (Optional) Apply filters to narrow results
- Click "Export CSV" button (icon: download arrow)
- File downloads automatically
- Filename format:
[report-name]-YYYY-MM-DD.csv- Example:
patient-census-2026-04-10.csv
- Example:
What's Included:
- ALL matching records (not just current page)
- Example: If report shows 500 patients, export includes all 500
- Respects filters (if you filtered to Active only, export includes only Active)
Opening the File:
- Double-click to open in Excel or Google Sheets
- Data appears in columns matching the report table
- Use for pivot tables, charts, or importing into other systems
Use Cases:
- Financial analysis (payer mix, revenue by payer)
- Census tracking over time (export monthly, compare trends)
- Data migration or backup
- Importing into billing software
Export PDF (Print-Ready)
How:
- (Optional) Apply filters
- Click "Export PDF" button (icon: PDF file)
- File downloads automatically
- Filename format:
[report-name]-YYYY-MM-DD.pdf
What's Included:
- ALL matching records (same as CSV)
- Formatted as a professional report with header and footer
- Agency logo and name (if configured)
- Report title and date generated
- Filters applied (shown in report header)
Use Cases:
- Printing for meetings
- Sharing with non-technical stakeholders (board members, administrators)
- Compliance binders (survey preparation)
- Management presentations
Understanding Report Data
Patient Census Report Columns Explained
MRN (Medical Record Number):
- Unique patient identifier
- Format: 4-6 digit number (e.g., 1025, 43585)
- Assigned when patient is admitted
SOC Date (Start of Care):
- Date the patient's first episode began
- Important for tracking patient tenure
- May differ from Episode Start if patient had multiple episodes
Episode Start / Episode End:
- Episode Start = Certification start date (from approved OASIS SOC/Recert/ROC)
- Episode End = Certification end date (typically 60 days after start)
- Example: Start = 2026-01-01, End = 2026-02-29 (60-day episode)
Primary Diagnosis:
- The main diagnosis from the care order
- Coded diagnosis (ICD-10) with description
- Example: "Essential (primary) hypertension", "Type 2 diabetes mellitus"
Assigned Clinician:
- The primary case manager or clinician assigned to this patient
- Set in the care order or patient record
- May be "—" if not assigned
Status Interpretation:
- ACTIVE = Patient is currently receiving home health services
- PENDING = Patient admitted but episode not started (OASIS SOC pending approval)
- DISCHARGED = Episode ended, patient discharged
- TRANSFERRED = Patient moved to another facility (hospital, SNF)
- DECEASED = Patient passed away
Episode Management Report Columns Explained
Episode Date:
- Same as Episode Start
- Primary sort column (earliest expiration first)
Recent Clinician:
- Last clinician to complete a visit for this patient
- May differ from Assigned Clinician
- Shows actual service delivery
Days Until Recert:
- Number of days remaining until episode expires
- Calculated as: Episode End Date - Today
- Negative number = episode already expired (critical issue)
- Example: Days Until Recert = 5 → Episode expires in 5 days
Reason for Care:
- New Admission - Patient's first episode
- Recertification - Continuing care episode after previous 60 days
- Resumption of Care - Returning after transfer or hospitalization
Missed Visit Report Columns Explained
Scheduled Date:
- The date the visit was originally scheduled
- Not the date it was cancelled
Status:
- Cancelled - Visit was manually cancelled by admin/clinician
- Missed - Visit was scheduled but clinician never checked in (no-show or forgotten)
Notes:
- Critical for compliance
- Must explain WHY visit was missed/cancelled
- Includes system-generated notes (e.g., patient transfers, discharges, deaths)
- May include staff-entered notes
Best Practices
1. Run Patient Census Report Daily
Why:
- Track daily census changes (admissions, discharges)
- Monitor payer mix (Medicare vs private insurance ratio)
- Verify assigned clinicians are correct
How:
- Each morning, open Patient Census Report
- Filter Status = "Active"
- Check total count vs. yesterday's count
- Note: Increase = admissions, Decrease = discharges
2. Run Episode Management Report Weekly
Why:
- Ensure no episodes expire without recertification
- Plan upcoming recert visits 2 weeks in advance
How:
- Every Monday morning:
- Filter Status = "Nearly Expiration"
- Sort by Days Until Recert (ascending)
- Identify patients with < 14 days remaining
- Schedule recert visits for those patients
3. Use Missed Visit Report for Survey Prep
Why:
- State surveys require documentation of missed/cancelled visits
- Must demonstrate corrective actions
How:
- Quarterly (or before expected survey):
- Set date range to last 90 days
- Export PDF
- Review each missed/cancelled visit
- Ensure all have documented reasons and follow-up
- Add to compliance binder
4. Export Reports Monthly for Trend Analysis
Why:
- Track performance over time
- Identify seasonal patterns
- Support strategic planning
How:
- Last day of each month:
- Export Patient Census (Active patients)
- Export Episode Management (all episodes)
- Save with month in filename (e.g.,
census-2026-01-January.csv) - Create a spreadsheet comparing month-over-month trends
5. Filter by Branch for Multi-Branch Agencies
Why:
- Branch managers need to focus on their branch only
- Compare performance across branches
How:
- If you manage multiple branches:
- Use Branch filter to isolate one branch
- Run report, export results
- Repeat for other branches
- Compare metrics (census, missed visits, etc.)
6. Use Reason for Care Filter to Track Admissions vs Recerts
Why:
- New Admissions = growth indicator
- Recertifications = retention indicator
How:
- Episode Management Report → Filter Reason for Care:
- "New Admission" → Count total new patients this month
- "Recertification" → Count total continuing episodes
- Calculate ratio: New Admissions / Total Episodes = admission rate
Common Scenarios
Scenario 1: Need to Know Current Patient Count
Goal: How many active patients do we have today?
Solution:
- Go to Reports → Patient Census Report
- Filter Status = "Active"
- Click "Apply"
- Look at total count at bottom of table (e.g., "Page 1 of 3 - 67 total items")
- Answer: 67 active patients
Scenario 2: Identify Patients Needing Recert This Week
Goal: Which patients need recertification OASIS this week?
Solution:
- Go to Reports → Episode Management Report
- Filter Status = "Nearly Expiration"
- Sort by Days Until Recert (ascending)
- Look for patients with Days Until Recert ≤ 7
- Export the list
- Assign recert visits to clinicians
Scenario 3: Survey Inspector Asks for Missed Visits Last Quarter
Goal: Provide documentation of all missed visits in Q1 2026.
Solution:
- Go to Reports → Missed Visit Report
- Set From Date = 01/01/2026
- Set To Date = 31/03/2026
- Click "Apply"
- Click "Export PDF"
- Review report to ensure all visits have documented reasons
- Provide PDF to surveyor
Scenario 4: Compare Branch Performance
Goal: How does North Austin Branch compare to West Coast Division?
Solution:
- Go to Reports → Patient Census Report
- Filter Branch = "North Austin Branch"
- Note total count (e.g., 45 patients)
- Export CSV as
census-north-austin-2026-04.csv - Clear filters
- Filter Branch = "West Coast Division"
- Note total count (e.g., 32 patients)
- Export CSV as
census-west-coast-2026-04.csv - Compare payer mix, average episode length, etc.
Scenario 5: Need List of All Medicare Patients
Goal: Export all Medicare patients for a Medicare-specific initiative.
Solution:
- Go to Reports → Patient Census Report
- (Currently no payer filter visible, so must export all and filter in Excel)
- Export CSV
- Open in Excel
- Filter Payer column to "Medicare of Texas" or "Medicare"
- Result: Filtered list of Medicare patients only
Alternative: Request your administrator to add a Payer filter to the Patient Census Report filters.
Troubleshooting
Issue: Report Shows No Data
Symptom: Report table is empty, shows "No records found" or similar message.
Possible Causes:
- Filters are too restrictive (no records match)
- No data exists (e.g., no missed visits in selected date range)
- Permission issue (can't see data from other branches)
Solution:
- Click "Clear Filters" button
- If still empty, data truly doesn't exist
- Check your permissions (can you see all branches?)
Issue: Export Button is Disabled
Symptom: "Export CSV" or "Export PDF" button is grayed out and cannot be clicked.
Possible Causes:
- Report has no data (total items = 0)
- Report is currently loading
- An export is already in progress
Solution:
- Wait for report to finish loading
- Apply filters to ensure report has data
- If exporting, wait for previous export to complete
Issue: Exported File Won't Open
Symptom: Downloaded CSV or PDF file shows error when opening.
Possible Causes:
- Export failed on backend (error returned as file)
- File is corrupted
- Permissions issue
Solution:
- Check for error toast notification when you clicked export
- Try exporting again
- Try different format (if CSV fails, try PDF)
- Check browser downloads folder for error messages
Issue: Report Shows Different Count Than Expected
Symptom: Patient Census shows 50 active patients, but you expected 55.
Possible Causes:
- 5 patients are in "Pending" status (not Active yet)
- Filters are applied
- Branch filter is hiding patients from other branches
Solution:
- Clear all filters and check total count
- Review Status filter - change to "All"
- Check Branch filter - change to "All"
- Verify patient statuses in Patients module
Permissions and Access Control
Required Permissions
| Action | Required Permission | Notes |
|---|---|---|
| View Reports Menu | VIEW_REPORTS | Without this, Reports menu is hidden |
| Run Patient Census Report | VIEW_REPORTS | Standard access |
| Run Episode Management Report | VIEW_REPORTS | Standard access |
| Run Missed Visit Report | VIEW_REPORTS | Standard access |
| Export Reports | EXPORT_REPORTS or VIEW_REPORTS | May require separate export permission |
| View All Branches | MANAGE_BRANCHES or Admin role | Without this, can only see own branch |
Role-Based Access Examples
Agency Administrator (Full Access)
- Permissions: All report permissions,
MANAGE_BRANCHES - Can See: All branches, all reports, all filters
- Use Case: Review agency-wide performance, multi-branch comparison
Branch Manager (Branch-Specific)
- Permissions:
VIEW_REPORTS, but notMANAGE_BRANCHES - Can See: Only their branch's data (Branch filter is auto-set)
- Cannot See: Other branches' patients or data
- Use Case: Manage their branch's census, missed visits, recerts
Billing Specialist (Census Only)
- Permissions: Limited to Patient Census Report
- Cannot Access: Episode Management or Missed Visit reports
- Use Case: Track billable census, verify payer assignments
Clinician (No Access)
- Permissions: None
- Cannot Access: Reports module
- Why: Clinicians don't need aggregate reports; they access their own schedule via "My Schedules"
Integration with Other Modules
Patient Module (Chapter 14)
- Link: Patient names in reports are clickable links to patient profile
- Impact: Quickly navigate from report to patient details
Care Orders (Chapter 15)
- Link: Episode data comes from Care Order records
- Impact: Episode status, dates, and reason for care populate Episode Management Report
Schedule Center (Chapter 23)
- Link: Missed/Cancelled visits come from Schedule Center
- Impact: Cancelled visits appear in Missed Visit Report with cancellation reasons
Dashboard Widgets (Chapter 2)
- Link: Recertification Due Report matches the recert widget on home dashboard
- Impact: Widget provides quick count, report provides detailed list
