Week of July 13: group therapy arrives, client self-cancel, same-day fixes
Therapy groups went from missing to fully supported — schedule, notes, billing, telehealth, and claims — in one program.
New
- Good Faith Estimates: give uninsured and self-pay clients the written cost estimate the No Surprises Act requires — from the + New menu on the client's profile, prefilled with your details and the client's own rate (sliding-scale rates land automatically, with a Notes field to record how the fee was agreed). Estimates share to the portal for download, printing, and an optional signature, the required federal disclaimer language is included automatically, and your published practice website now carries the required No Surprises Act notice. How it works.
- Group therapy, end to end: create roster-based therapy groups, schedule group sessions with per-member attendance, write per-member session notes, bill attendees individually (self-pay or insurance with the correct group CPT codes), and run group telehealth — every member joins the same video session through their own portal.
- Client self-cancellation: clients can cancel booked appointments from the portal within your practice's cancellation window — a new setting controls how close to the session self-cancel is allowed.
- Concierge migration: switching from another EHR? A new card in EHR Import lets you hand us your exports and we'll do the migration.
Improved
-
Your locations now always appear on your public booking page — clients requesting an appointment pick from your locations by name (including telehealth). The per-location "Hide Address" setting now does exactly what it says: it hides the street address from the public while keeping the location listed, so home-office practices can offer in-person booking without publishing where home is. Addresses always remain visible to signed-in clients.
-
Claim-filing enrollment is now automatic where payers require it: some payers (all Medicare Part B jurisdictions, certain BCBS plans) won't accept electronic claims until the practice is enrolled for claim submission — separate from the ERA enrollment we already handle. Enrolling with such a payer now files both requests at once, and the payer list shows a "Claims" status badge so you can see when claim filing is cleared.
-
Telehealth billing defaults tuned for how therapy actually happens: audio-only phone sessions now default to modifier 93 (audio-only telemedicine — modifier 95 claims video happened; FQ is also available for payers that want it), and telehealth locations plus built-in video sessions now default to place-of-service 10 (client at home — the typical case, reimbursed at the higher non-facility rate) instead of 02. Existing locations keep whatever you chose; 02 stays selectable for client-elsewhere sessions.
-
Telehealth clients get their join link right in the email: appointment confirmation and reminder emails now include a "Join video session" button — the meeting link saved on your Doxy.me/Zoom/Meet location, or your client portal for built-in video — and the attached calendar invite carries the same link. In-person appointments are unchanged.
-
Appointment reminder emails now include a calendar invite (.ics attachment) — one tap adds the session to the client's phone or desktop calendar, and a re-sent reminder updates the same event instead of duplicating it. The calendar entry is deliberately minimal ("Appointment" plus the practice name in the details) so nothing clinical shows on lock screens or shared calendars.
-
Notice of Privacy Practices updated for the 2026 HIPAA changes: new practices now start with an NPP covering the 42 CFR Part 2 substance-use-record protections (plus psychotherapy-notes and complaints sections). Existing practices' notices are never auto-edited — here's what changed and how to update yours.
-
Shared Good Faith Estimates now show clearly on the client's Files tab: each estimate appears under its own name (like "Good Faith Estimate (GFE-0004)") with its signature status, instead of an unlabeled form entry — so you can see whether a client has signed without opening anything.
-
Unfinished supervision setup no longer stays silent: Team settings flags a Supervisor with no clinicians assigned (and associate-licensed clinicians with no supervisor), and the Notes to Sign page shows affected clinicians a gentle note that their notes aren't routing for co-signature — with a one-click dismiss if your supervision happens outside Practice Harbor.
-
Group session fees are easier to get right: set a default per-member fee when scheduling a group session (a client's own account rate still applies automatically), adjust any one member's fee for a specific session from the attendance panel, and see a clear "No rate" warning before anyone would be billed $0.
-
Group session billing at a glance: the attendance panel now shows a billing summary for the session (how many members are uninvoiced, unpaid, and paid), each member's invoice number with its status, and one-click links to view the invoice or collect payment.
-
Collect payment right from the group session: clicking Collect on an unpaid member now opens the payment window with that member and their session invoice already selected — card on file, cash, or check — no trip to the Billing tab. Minor clients correctly charge the parent's saved card.
-
Clearer group session statuses: a group session now shows its status as a simple label with two actions — Close out session (for past sessions: confirms attendance and sets up billing) and Cancel session (keeps it on the calendar marked Cancelled, removes attendees' un-invoiced charges, with a this-one-or-all-future choice for recurring groups). Member attendance offers Show, No Show, Late Cancel, and Cancelled — mark a client who cancelled in advance and they're never billed for the session, while staying visible on the roster. Marking a session held automatically marks everyone you haven't documented as Show — anyone you've marked No Show or Late Cancel stays exactly as you set them.
-
A roomier group session panel: the group session drawer is wider, each member's attendance and billing fit on one line, and the schedule details tuck into a compact summary (tap Edit to change them) so attendance is front and center.
-
Same-day group collection: an uninvoiced group member now has "Invoice & collect" right on their row — one click creates their session invoice and opens the payment window. Members enrolled in AutoPay show a badge so you know whose balance will charge automatically overnight.
-
Bill a group member at any time: once you mark a member Show, "Invoice & collect" is available even before the session is closed out — the same way an individual appointment can be invoiced ahead of its status catching up. The evening close-out skips members you've already billed, and cancelling a session (including "this and all future" for a recurring group) automatically removes any early charges that weren't invoiced yet — anyone already invoiced is flagged so you can handle the invoice deliberately.
-
Group sessions now bill like individual sessions: members you haven't marked are treated as attended when the session completes each evening — your job is just marking the exceptions (No Show, Late Cancel), same as your calendar habit for individual appointments. Attendance the system assumed shows as "(assumed)" in the panel until you confirm it yourself, and anyone you mark as an exception is never billed for the session.
-
Closing out a group session now happens where attendance lives: the button is "Confirm attendance & close out", right under the member list — so you review the roster as you close out, and everything you confirm is recorded as your call (no "(assumed)" labels). Sessions closed automatically overnight instead show a single note that attendance was assumed, with a one-click Confirm attendance to sign off on it.
-
Add Insurance Payment got a same-day fix batch after a practice reported trouble: the payer dropdown now always includes every payer your clients actually have (a long list had silently cut off), the help article walks the exact path with prerequisites, and a clear error explains the one case that blocks saving.
-
The demographics form asks for sex as shown on the insurance policy where claims need it, and the insurance editor collects it inline when missing — closing a gap that could get dependents' claims rejected.
-
New Client modal: clearer client types with Group as its own option. A therapy group's type is now fixed after creation (it determines how billing works); couples and families can still switch between those two types.
-
The Getting Started checklist teaches the real gestures (and the sample session can be hidden or deleted when you're done with it).
Fixed
-
Online booking requests now reliably reach you: new-client requests from your public booking page show up under the person icon on your calendar (now always visible — a red badge appears when requests are waiting) and also email your practice's contact address the moment they arrive. Previously, requests could go unseen; if you use online booking, check the icon for anything pending.
-
Booking page tells clients when times fail to load: a temporary connection problem now shows "we couldn't load the available times" instead of looking like a fully booked day.
-
Treatment plan cards now show a signing badge — Unsigned, Awaiting co-sign, or Signed — so it's obvious which plans still need "Sign and share" (and, for supervised clinicians, which are waiting on the supervisor's counter-signature). The Notes to Sign page now lists your unsigned treatment plans alongside your unsigned notes — one inbox for everything waiting on your signature. Plans a supervisee signs and shares appear in the supervisor's existing "Notes to sign" queue alongside notes.
-
The portal's "Join Session" button now takes clients to the right video platform: if your telehealth location has a video link saved (Doxy.me, Zoom, Google Meet…), clients land there — previously the button always opened the built-in video room even when your sessions happen elsewhere. Practices using the built-in telehealth are unaffected.
-
Evening payments no longer vanish from the billing dashboard until the next day.
-
Card refunds issued from the billing tab now route through the real card refund and reflect correctly on the invoice.
-
After refunding a card payment, the invoice can be collected again — it now reappears in Add Payment with its restored balance.
-
Refunds now show in Card Transactions (and its CSV export) alongside charges, so the list reconciles with your payouts.
-
Superbills, hours tracking, and analytics date ranges no longer drop sessions on the last day of the range.
-
Dispute and payout activity now flows into the Billing Dashboard as it happens — the Disputes tab shows the deadline countdown and evidence actions.
-
Collecting payment from an appointment's details now works for minor clients whose card is saved on the parent — the charge correctly uses the parent's payment profile (it already worked from the client's Billing tab).
-
A demographics-form Edit button that clipped its label, and a two-line radio row in the New Client modal.
-
In video sessions, turning a camera off now shows a "Camera off" tile with the participant's name — previously the last video frame could stay frozen on screen.
-
Removed the "Remove from unbilled" action on the insurance Unbilled list — it permanently hid sessions from Add Insurance Payment with no way back. Sessions hidden by it reappear automatically. To take a session off the list, use Download CMS-1500 (filing externally), Mark as Self-Pay (including $0 courtesy sessions), or mark the appointment No-Show.
-
Collecting payment from the appointment details now works for clients whose card is on a parent or guardian's profile.
-
Refunds now subtract correctly on client statements and in the account's Transactions view — previously a refund could show as more money received instead of money returned.
-
Service modifiers set when scheduling a group session (like 95 for telehealth) now carry through to every member's charge and claim — previously they were dropped for group sessions while individual sessions kept them.
-
Write group notes right after session: opening the group note on a session you haven't closed out yet now opens a quick "Confirm attendance" list (everyone preset to Show — flip the exceptions). Confirming marks the session held, sets up billing, and drops you straight into the notes. Sessions the system closed automatically with assumed attendance get the same quick review, so documented sessions always carry attendance you confirmed — and anyone you correct to No Show has their pending charge removed automatically.
-
Deleting a paid invoice now tells you the real reason it can't ("refund or delete the payment first") with a direct link to the client's billing page — previously it showed an unhelpful "try again" (and in one spot, a false success). Paying down the chain stays deliberate: payments unwind before invoices, invoices before the session.
-
Three group-session billing fixes: re-saving a completed group session from the calendar can no longer move one member's charge onto another member; double-clicking Save while marking attendance no longer creates duplicate charges; and deleting a group session now removes every member's pending charge, not just one.
-
The Analytics income report and the Billing Dashboard's Collected figure now always agree — disputed charges no longer skew the income report, and chargebacks no longer appear as payment rows in Billing Activity (they live in the Disputes tab).
-
The Clinical Hours report now counts every session — very long histories were previously cut off at 500 rows.
-
Changing the location of a recurring appointment now saves correctly (for one occurrence or the whole series) — previously the change silently didn't stick. Location changes also now carry through to the session record, so claims file with the right place of service (e.g. after switching a session to telehealth).
-
After collecting a group member's payment from the session drawer, the member's row now updates right away — the paid badge and invoice number appear without closing and reopening (previously the "Invoice & collect" link lingered even after payment).
-
Appointment details for a future session now show a simple "Create invoice" link in the Billing section instead of payment buttons and AutoPay messaging — those appear once the session date arrives. (Heads up, unchanged behavior: AutoPay charges any unpaid invoice overnight once it exists, so invoicing a future session early does collect early.)
-
The session billing history table now labels every row correctly: insurance checks no longer appear as green "Client payment" rows for the whole check amount, and refunds now subtract from the running balance instead of showing as a second payment. Applied credit shows as "Credit applied."
-
When a card payment is reversed by the client's bank after a dispute, the session's invoice now correctly shows the reversed amount as owed again — previously it could read as fully paid, blocking re-collection.