What's New in TrackER

A timeline of new features, improvements, and fixes -- newest first.

February 26, 2026

Time Range Filters, Kiosk QR Fix & Security Hardening

Nurses can now filter My Alerts and My Requests by time range (24h to 6 months). Kiosk check-in QR codes now show the correct custom domain. Several security and infrastructure improvements.

New Nurse Portal
  • Time range filter on My Alerts -- filter sent alerts by last 24 hours, 5 days, 7 days, 15 days, 30 days, 3 months, or 6 months. Defaults to last 24 hours for fast loading.
  • Time range filter on My Requests -- same time periods for staff job requests, integrated with existing status and role filters. Badge counts update to reflect the selected time window.
Fix Kiosk
  • Kiosk QR code domain -- check-in QR codes and tracking URLs now use the correct custom domain (e.g. patient.int.east.ccbtec.com) instead of the raw Azure App Service hostname
  • Kiosk list bullets -- replaced unicode checkmark characters with CSS-drawn checkmarks to fix rendering as question marks on Android WebView
Security
  • Forwarded Headers middleware -- added UseForwardedHeaders so client IPs resolve correctly behind Azure App Service load balancers (fixes 0.0.0.0 in telemetry, audit logs, and rate limiting)
  • JWT RoleClaimType fix -- .NET 10 no longer maps short "role" claims to ClaimTypes.Role by default; middleware now sets MapInboundClaims = false and rebuilds identity with correct role type
  • Cross-hospital message injection -- CreateMessage now verifies visit ownership before inserting (prevents nurse from Hospital A sending alerts to Hospital B patients)
February 25, 2026

Notification Alerts, Audio Caching & Staff Dashboard Redesign

Nurses can now send alert messages directly to the waiting room display and patient phones, with full alert history and visibility controls. The staff dashboard gets a complete UI overhaul.

Headline: Alert & Notification System

Send call messages, public announcements, or private messages to patients -- directly from the queue card. Each display can now have its own notification icon, and nurses can hide/show alerts on the display in real time.

New Nurse Portal Kiosk Patient Portal
  • Send Message modal redesign -- two-column layout with alert history panel, last-message suggestion, and hide/show controls per alert
  • My Alerts page -- new page for nurses to view and manage all alerts they've sent, with toggle visibility and dismiss actions
  • Per-display notification icon -- admins can pick from bell, megaphone, alert, chat, envelope, or info icons per waiting room display (Migration 044)
  • Alert-aware kiosk paging -- patients with active call messages get dedicated pages (max 2 per page), never mixed with non-alert patients
  • Patient phone notifications -- new messages trigger a sound alert and browser notification on the patient's tracking page, with audio unlock on first tap
  • Audio preload & caching -- sound files are preloaded on first user gesture and reused from browser cache, with <link rel="preload"> and 30-day IIS cache headers
  • Alert count badges -- message tool button shows a red badge with the count of active alerts per patient
  • Two-row tool layout -- queue card tool icons are now organized into two rows for better touch targets on tablets
Improved Staff
  • Staff dashboard redesign -- stats cards, mobile-friendly nav, modernized UI across the staff portal
  • Azure AD group overage handling -- when the token exceeds the group limit, TrackER now falls back to Microsoft Graph API to resolve roles
Security
  • XSS fix in patient notifications -- browser notification messages are now fully sanitized for JS string context (backslash, quotes, angle brackets)
  • Null-ref guard on re-auth -- patient portal no longer crashes if the tracking re-auth call fails due to network issues
February 24, 2026

Epic FHIR JKU Support & Security Hardening

Added JKU (JWKS URL) support in JWT assertion headers for Epic's updated backend auth requirements, plus critical security fixes.

New Infrastructure
  • Epic FHIR JKU header -- JWT assertions now include the jku header pointing to the JWKS endpoint, per Epic's Feb 2026 requirement for new backend system licenses
Security
  • Timing attack fix (CWE-208) -- password verification in all 4 auth services now uses constant-time comparison to prevent timing side-channel attacks
  • Lockout bypass fix (CWE-187) -- fixed username truncation in IsLockedOutAsync that allowed bypassing account lockout
February 23, 2026

Upgrade to .NET 10

The entire platform has been upgraded from .NET 9 to .NET 10, with all 16 projects, packages, and deploy scripts updated.

Headline: .NET 10 Across the Board

All 16 projects upgraded to net10.0. 10 NuGet packages updated. 157 mandatory breaking changes resolved. All App Services upgraded to 64-bit / .NET 10. Telemetry migrated from Application Insights SDK to Azure Monitor OpenTelemetry.

Infrastructure
  • .NET 10 upgrade -- all projects, CI, and deploy scripts now target .NET 10
  • Azure Monitor OpenTelemetry -- replaced the deprecated App Insights SDK with native OpenTelemetry
  • 64-bit App Services -- all Azure App Services now run 64-bit
  • Package upgrades -- Swashbuckle 7.2 to 10.1, MAUI Controls 9.0 to 10.0, fixed SYSLIB0060 warnings for Rfc2898DeriveBytes
  • xUnit v3 migration -- test framework upgraded to xUnit v3 with Microsoft.Testing.Platform
February 22, 2026

Account Lockout Management

Per-hospital configurable account lockout with Super Admin oversight.

New Admin
  • Account lockout -- configurable failed attempt thresholds and lockout durations per hospital (Migration 043)
  • Super Admin lockout management -- view and unlock locked accounts across all hospitals
February 20, 2026

NIST CSF 2.0, Room Management & Call Sounds

NIST CSF 2.0 compliance infrastructure, full room/bed management, and a customizable call sound library.

New Infrastructure
  • NIST CSF 2.0 compliance -- SIEM integration, SBOM generation, backup verification, incident response procedures
  • Room management -- full room/bed tracking with search, assignment, availability, and display room filter (Migration 040)
  • Call sounds library -- admins can upload custom MP3/WAV alert sounds per display, with magic-byte validation and file size limits (Migrations 041-042)
  • Transport prompt -- after assigning a room, nurses are prompted to request transport with pre-filled from/to locations
Security
  • Timing attack mitigations -- constant-time comparisons in credential validation
  • Secret overwrite protections -- Key Vault secret write operations now verify before overwriting
  • Forbid() bug fix -- fixed Forbid("message") calls that were interpreted as auth scheme names instead of error messages
Fix
  • Razor entity bug -- HTML entities like &middot; inside C# interpolation now use Unicode characters instead
  • SqlDataReader closure -- added regression tests to ensure readers are properly closed before opening new commands on the same connection
February 19, 2026

EHR Integration, Azure AD SSO & Departments

Full EHR integration API with Epic FHIR + Meditech HL7, Azure AD single sign-on, and department-based patient routing.

New Infrastructure
  • Epic FHIR R4 integration -- native search, pagination, patient lookup, and backend system auth
  • Meditech HL7 integration -- ADT message processing with configurable field mappings
  • Integration inbound API -- ESI_UPDATE, STATUS_UPDATE, DEPARTMENT_TRANSFER endpoints for EHR-driven updates
  • Azure AD / Entra ID SSO -- PKCE + state flow for nurse and admin portals, with automatic role mapping from Azure AD groups
New Nurse Portal Admin
  • Departments -- create departments, transfer patients between them, filter the queue by department (Migration 033)
  • Completion workflows -- admin-configurable workflows that auto-advance patient status on job completion (Migration 034)
  • Display department filter -- waiting room displays can be scoped to specific departments (Migration 035)
  • Nurse dashboard status filter -- admins can restrict which statuses nurses see in their status picker (Migration 037)
  • Announcement expiry -- per-hospital max announcement duration with nurse-selectable expiry times (Migration 037)
February 18, 2026

Crew Messaging, Patient Notes & Waiting Room Overhaul

Staff can now chat on job requests, nurses can add notes and scan barcodes, and the waiting room display gets a complete multi-display overhaul.

New Nurse Portal
  • Crew messaging -- real-time chat on staff job requests with read receipts and urgent flags (Migration 031)
  • Patient visit notes -- add timestamped notes per patient with visibility controls (Nurses Only, All Staff, Only Me) (Migration 030)
  • Barcode / wristband scanning -- assign and scan barcodes for patient identification (Migration 030)
  • Unread message indicators -- queue cards and nav badges show unread crew message counts
  • Job cancel & detail modal -- view job details, chat inline, and cancel pending requests from the queue
New Waiting Room Display
  • Multi-display configuration -- each hospital can have multiple waiting room displays with independent settings
  • Announcement display modes -- side panel, inline, or paged announcements with configurable column width (Migration 039)
  • Call messages -- full-screen alert overlay with configurable sound on the waiting room display
  • Patient identifier modes -- choose from initials, first name, partial first name, or visit ID (Migration 038)
  • Announcement font size -- independently configurable font size for announcements (Migration 038)
  • SMS consent redesign -- improved opt-in flow during kiosk check-in
February 17, 2026

Mobile App & Browser Test Automation

Native mobile app improvements and parallelized Playwright browser tests.

Improved Mobile
  • Mobile app UI overhaul -- updated icons, splash screen, and sidebar navigation
  • Security alerts upgrade -- mobile push alerts for STAMP red zone events
Infrastructure
  • Parallelized Playwright tests -- browser tests now run in parallel for faster CI feedback
  • Staff API contract tests -- comprehensive API contract validation for the staff portal
February 16, 2026

.NET MAUI Mobile App & Self-Hosted Notifications

The initial release of the native .NET MAUI mobile app and the self-hosted push notification system that replaces Firebase.

Headline: Native Mobile App

TrackER is now available as a native app for iOS and Android via .NET MAUI, with self-hosted push notifications (no Firebase dependency).

New Mobile
  • .NET MAUI mobile app -- native iOS and Android app with Bootstrap-styled Blazor UI
  • Self-hosted notifications -- push notification system using APNs and FCM directly, no Firebase dependency (Migration 028)
Improved Admin
  • Configurable KPI targets -- admins can set their own wait time, throughput, and satisfaction targets (Migration 027)
  • Expanded audit logging -- all patient-facing operations now logged to PatientInteractions for HIPAA compliance
  • Time zone improvements -- per-hospital timezone with correct display across all portals
  • E2E browser tests -- Playwright tests covering critical paths across all portals
Infrastructure
  • Landing page redesign -- new marketing site with clearer value proposition and demo request flow
  • Migration validation tests -- 1800+ cold-start tests catching forward-references, same-batch issues, and column mismatches