Appearance
Export & Filters
Consistent filtering and export practices ensure reports remain accurate, auditable, and useful outside EaseLab — in Excel, accounting systems, and management presentations.
Universal filter model
mermaid
flowchart LR
U[User selects filters] --> Q[Query builder]
Q --> DB[(Tenant DB)]
DB --> G[Grid view]
G --> E[Export engine]
E --> CSV[CSV]
E --> PDF[PDF]
E --> PRINT[Print]Most report screens share a filter bar at the top. Apply filters before export — exported files respect active filters only.
Standard filters
| Filter | Type | Notes |
|---|---|---|
| Date from / to | Date picker | Inclusive boundaries — confirm timezone (UTC storage, local display) |
| Collection center | Multi-select | Empty = all centers |
| Department | Dropdown | From test departments |
| Referral doctor | Searchable select | Active doctors only by default |
| Test / profile | Catalog search | Code or name |
| Payment method | Enum | Cash, card, bank, credit |
| User / cashier | Staff list | Shift reconciliation |
| Status | Context-specific | Invoice paid, sample pending, etc. |
Default to narrow ranges
Exporting multi-year data slows browsers and obscures recent trends. Start with 30 days, expand as needed.
Date range shortcuts
| Shortcut | Use case |
|---|---|
| Today | Shift close |
| Yesterday | Morning review |
| This week | Ops meeting |
| This month | Finance close |
| Custom | Audits, tax periods |
Financial reports often align to calendar month; operational may use rolling 7 days.
Export formats
| Format | Best for | Limitations |
|---|---|---|
| CSV | Excel pivot tables | No formatting |
| Sharing with doctors | Fixed layout | |
| Wall charts | Browser dependent | |
| Copy | Quick paste to chat | Small datasets |
CSV guidelines
- UTF-8 encoding for international characters
- Open in Excel via Data → From Text to preserve leading zeros in MRNs
- Large exports may split — use date chunks
PDF guidelines
- Use landscape for wide financial tables
- Include filter summary in header when printing from browser
- Logo from lab settings appears on branded templates
Column selection
Where column pickers exist:
- Click Columns or gear icon.
- Toggle visibility per field.
- Save as personal default if supported.
- Export — hidden columns omitted.
Recommended minimum sets:
| Report | Essential columns |
|---|---|
| Cash flow | Date, reference, inflow, outflow, method |
| Referrals | Doctor, patients, revenue, commission |
| TAT | Barcode, test, collected, verified, hours |
| Test performance | Test code, count, revenue |
Permission-aware export
Export requires same view permission as the report. Users without analytics.view cannot export analytics datasets even via direct URL guessing — API enforces authorization.
Scheduled / recurring exports
EaseLab standard UI focuses on on-demand export. For recurring delivery:
| Pattern | Implementation |
|---|---|
| Daily email | External script via API + cron |
| BI warehouse | Nightly DB read replica |
| Accountant share | Manual monthly CSV + secure transfer |
Document your lab's chosen pattern in internal SOPs.
Filter persistence
| Behavior | Detail |
|---|---|
| Session | Filters may reset on logout |
| Bookmark | Share URL with query params when supported |
| Saved views | Future enhancement — use browser bookmarks |
Data quality checks before export
mermaid
flowchart TD
A[Set filters] --> B[Preview row count]
B --> C{Reasonable?}
C -->|No| D[Widen/narrow filters]
C -->|Yes| E[Export]
E --> F[Spot-check totals]| Check | Pass |
|---|---|
| Row count | Matches expectation |
| Sum of revenue | ~ financial summary |
| No duplicate barcodes | TAT report |
| Date coverage | Full period included |
PHI and security
Protected health information
Exports contain PHI. Email only through secure channels. Do not store CSV on public cloud folders without encryption.
| Control | Action |
|---|---|
| Least access | Export permission only for finance |
| Retention | Delete local copies after import |
| Audit | Note who exported sensitive reports |
Troubleshooting
| Issue | Fix |
|---|---|
| Empty export | Filters too narrow; verify date field |
| Garbled characters | UTF-8 import in Excel |
| Timeout | Reduce date range |
| Totals mismatch | Include deleted invoice timing |
| 403 | Missing report view permission |