Bug Fixes
- Resolved an issue where clinical notes would disappear from an appointment after it was scheduled or edited and a user kept a stale/old copy of the appointment open.
- Fixed an issue where a patient tag from one record would carry over to the next patient if not saved before navigating away.
- Resolved a login issue where users were immediately logged out after signing in due to a credential rotation bug
- Fixed a delayed-logout bug where staff who successfully logged in would briefly see the dashboard before receiving a "Session Expired" error.
- Corrected a bug where payments modals would briefly display stale data before loading the correct information.
- Fixed the self-scheduling logo fallback so it correctly shows account-level branding when a fixed location has a deactivated branding row.
- Corrected font-weight and color inconsistencies introduced throughout the application, including filters, modals, and tables.
- Fixed additional font-weight discrepancies identified as follow-up items across the application.
- Fixed a bug where patients were incorrectly shown a "These forms are expired." message despite a future due date.
- Fixed a scheduling bug preventing appointments from being booked in available time slots for certain accounts.
- Resolved a CSL builder timezone bug where the due date was calculated using the server timezone instead of the location's timezone.
- Fixed self-scheduling link schedule reordering, which previously exhibited unpredictable behavior.
- Resolved a GoHighLevel integration issue where cancelling an appointment in Lobbie was not reflected in GHL.
- Fixed a GoHighLevel calendar webhook failure caused by attribute errors or misconfiguration.
- Resolved a Brio lab order issue where PDF downloads were returning a non-PDF response.
- Fixed an error in the payment request task builder when a prescribing staff member record was null.
CSV Export
Note: CSV Export is available to Pro and Paperless accounts. The feature flag has been removed and CSV exports are now on for all eligible accounts.
- Removed the CSV Export feature flag — exports are now available to all Pro and Paperless accounts without needing to be added to a BETA group.
- Added CSV export for the Payments V2 invoices table.
- Added CSV export for the Payments V2 orders table.
- Added CSV export for the Payments V2 subscriptions table.
- Added CSV export for the Appointments Dashboard.
Self-Scheduling
- Location contact information (address, phone, and hours) can now be configured to display in the welcome message area of a self-scheduling link.
- Improved UTM parameter capture in the self-scheduling flow, including normalization and correct handling when parameters are added mid-session.
Partner API
Note: The Partner API is still in BETA and being tested by a select number of accounts.
- Added
GET /partner/v2/accountendpoint, allowing partner integrators to list all accounts they are authorized to access. - Added subscription endpoints:
GET /location/:id/subscriptionandGET /location/:id/subscription/:id, with filters for order, status, patient, and item. - Added order endpoints:
GET /location/:id/orderandGET /location/:id/order/:id, including nested order line items and subscription details. - Added refund endpoints:
GET /location/:id/refundandGET /location/:id/refund/:id. - Enriched the patient payload to include address, primary provider, primary location, and active status, reducing the need for legacy API calls.
- Account ID is now included in webhook payloads, allowing partners to identify which account triggered an event.
- Added webhook triggers for patient created, updated, and deleted events.
- Added webhook triggers for appointment updated and deleted events.
- Added full webhook management endpoints (create, read, update, delete), retrieval of available event types, and the ability to send a test event.
- Added the Account ID to the Account Settings page so partners can easily locate their identifier for use with the API.
KPI Dashboard
- Improved UTM capture and normalization in the self-scheduling flow to ensure campaign attribution data is correctly recorded in the KPI dashboard.
Payments V2
Note: Payments V2 is in not yet released.
- Launched a three-state payments feature flag — accounts can now be on no payments, Payments V1, or Payments V2, rather than managing two separate settings.
- Connected Payments V2 to MX Merchant, allowing new accounts to complete the MX Merchant connection flow directly within V2.
- Added the ability to retry a failed payment attempt directly from the invoice drawer.
- Added the ability to cancel a pending payment attempt before it is processed.
- Added the ability to cancel an active subscription, stopping future billing while preserving historical invoices and payments.
- Added the ability to void an invoice that should no longer be collected, preserving full audit history.
- Added the ability to mark an invoice as uncollectible to stop further collection attempts while retaining the invoice for financial reporting.
- Implemented subscription processing, including automatic transition of subscriptions to a completed status when they reach their end date or occurrence limit.
- Order invoices are now pushed to MX Merchant asynchronously when a draft order is submitted.
- Unified the retry payment and invoice card-billing flows so both follow the same processing path, with the modal updating through Processing → Processed/Failed states.
- Completed the Billing Details and Categories settings tabs, replacing placeholder "coming soon" content with fully functional configuration screens.
- Updated the Services & Supplies billing table to match the new shared table component used across Payments V2.
- Billing tables for invoices, orders, and subscriptions are now visible under the patient profile.
- Dashboard filters and the active tab selection now persist when navigating away from and returning to the Payments V2 section.
- Added package settings, allowing staff to view, search, and manage packages used for building orders and subscriptions.
- Completed pre-release cleanup items, including removing the ACH option and hiding unimplemented integration sections.
- Updated the nightly reporting ETL to correctly export payment and subscription data for accounts on Payments V2.
Infrastructure & Performance
- Completed migration of the ETL pipeline to the new database clusters.
- Migrated frontend client hosting from Terraform to CloudFormation.
- Added a user-facing Cognito authentication stack as a CloudFormation-managed resource.
- Resolved a series of API performance issues including N+1 queries on form template list endpoints, over-fetching on patient list endpoints, slow schedule serialization, and action-item notification loading.
- Fixed the GoHighLevel calendar webhook to accept-and-enqueue calendar events, improving reliability and reducing webhook-related latency.