August 2026 release notes
Changes shipped between 2026-08-01 and 2026-09-01. Items are grouped by module. Entries marked ★ are high-impact or frequently requested.
The month was heavy on billing correctness, note honesty, and shipping the native app photo capture. 241 non-refactor feat/fix commits landed, spanning 8 release trains (v1.1.267 through v1.1.300).
Provider Attestation & Notes
- ★ APRN is a first-class credential. The attestation dropdown used to offer a combined "NP / APRN" option that always stored
NP. APRN and NP are now separate options; pick the one your state licence uses. See APRN as a signature credential. - ★ Signature timestamp is readable and carries a timezone. Notes used to print a raw UTC ISO instant (24% of signed notes) or a false "same day" fallback (99% of finalized notes). Now they print
Aug 25, 2026, 11:07 PM EDTin the reader's device timezone with the zone abbreviation always shown. Legacy PDF fallback that stampednew Date()onto unsigned notes is deleted. See How the signature timestamp prints on a signed note. - ★ Provider credential prints on the signature line. Previously the credential (NP, PA, MD, etc.) was silently dropped from the printed signature. Now it renders beside the provider's name on every signed note.
- ★ Note-honesty guardrails. The renderer no longer synthesizes a post-debridement measurement that was never taken, and no longer invents an undocumented comorbidity type or stage. See Note-honesty guardrails.
- Contradictory
is_cleanformulas reconciled in the perfect-note pipeline. - Wizard binding hardened. Visit Wizard now renders against the URL patient (not a frozen copy) and blocks documenting against another patient's appointment.
- Running HPI preserved on resume. Fixed a defect that blanked and erased the Running HPI when a draft was reopened.
- Exudate: allow "no exudate" wounds and resolve exudate type on write at every hydration path.
Addendum
- ★ Addendum surfaces in Progress Notes with download. Signed corrections after the fact are now visible from the Progress Notes tab, not buried in audit logs.
- Encounter identity on every amendment. An addendum now identifies which encounter it belongs to — no more ambiguous "which visit is this?" corrections.
- Patient name, MRN, and DOB print on every addendum page — required for HH agencies that receive faxed amendments.
Billing & Claims
- ★ $0.00 claim guard. Auto-drafted claims now refuse to submit if the claim total is zero. Companion fix: unpriced-line rejections are readable to a biller. See Charge Master and the $0.00 claim guard.
- ★ Coding Review Drawer soft-blocks and closes bypasses. Coding findings are soft-blocks — you can override with a reason — and the manual bypasses that used to skip the drawer entirely are closed. Coding Review now resolves 174 of 461 clinical notes (was 60).
- ★ Service-date guard. Stops silent today-substitution when a service date is missing; uses the existing CMS-1500 date convention rather than inventing anchoring. Reworked twice after hostile review to close 84 findings.
- ★ The claim scrubber shipped. Five wound-care-specific pre-submission rules (deleted C-codes, JW/JZ on Q-codes, WISeR PA, MAC state mismatch, debridement+CTP bundled). Advisory only, never hard-blocks. See The claim scrubber.
- ★ Area-based CPT coding for debridement, CTP, and NPWT. Correct code selection driven by measured wound area.
- ★ Retired CPT 99343 no longer emitted. Deleted by AMA on 2023-01-01; three prod notes had been billed with it in July 2026. See Retired CPT guard.
- ICD-10 catalog reconciled to CDC FY2026 billable leaf set. Diagnosis validation now checks against the billable catalog, not a regex.
- CMS-1500 Box 1 marked from the same source as the 837P wire — the two now agree.
- CMS-1500 checkboxes that never got marked are now marked.
- Timely filing severity thresholds with day-count math resistant to timezone drift. See Timely filing windows.
Stedi / 837P
- ★ 837P payload validator built from Stedi's own JSON Schema. Catches structural errors before submission.
- ★ PTAN and payer enrollment surface. Full self-service enrollment page at
/billing/enrollmentcovering four transaction types. See PTAN and payer enrollment. - ★ Stedi Actions Inbox. Triage surface for four Stedi event types (file failed, transaction processed, enrollment rejected, enrollment task assigned) with five actions and superadmin facility stamping. See Stedi Actions Inbox.
- ★ First-ever coverage of the inbound path (277CA + 835 ERA). Documented why the inbound path was previously unproven — never ran, never failed.
- Two Stedi webhook systems disambiguated in documentation.
- Subscriber DOB recovered and paired with DMG03.
- DMG03 patient sex populated; stops CMS-1500 guessing Male when the field was blank.
- All 6 always-required 837P
claimInformationfields sent. - Diagnosis pointers capped at 12 per 837P spec; fix applied to frontend builder.
- Resolved charge carried onto 837P service lines (previously blanked in some paths).
- Primary line no longer counted twice on auto claims.
- $0 claims blocked before Stedi submission — reads the charge/modifier keys the builder actually writes.
- CMS-1500 field mapping documented. DMG03 M/F/U mapping, SV107 diagnosis pointer, DTP*472 format. See CMS-1500 and 837P fields.
ZusHealth & Interoperability
- ★ Import write layer rebuilt. Five mappers,
lab_testsredirect,Immunizationinlet, unique indexes, honest save counts. Medications imports unblocked after August 4 prod forensics. - ★ Patient.active preserved on identifier write-back. One-shot repair function shipped for patients whose
activeflag was stripped by the prior defect. Also unblocked FQS reads on Patient 403 responses. - UPID settlement against demographics before scoping FQS reads.
- Sync button in pre-charting with toast feedback; SELECT RLS policy added for
zushealth_patient_relations. - One pull button + honest post-pull import summary in precharting.
- Legacy JWT +
sb_sec_key formats both accepted in Zus edge functions. - Zus-Account header attached only to CE-delegated writes; reads go headerless at BA level.
- PHI logs removed from Zus code paths.
- CE Builder ID added for Integ Advanced Nursing (CA).
Native / Electron App
The native tablet build ("electron") shipped its wound-photo capture pipeline this month.
- ★ Wound photos capture and file on the tablet, sync to web §7. 26 commits, culminating in an end-to-end path: photos are queued as base64 rows, filed under
facility_idfor storage RLS, content-addressed to prevent duplicates, and linked back to the web wizard's §7 by shared wound id. - ★ Cross-device visit continuity. Resuming a web visit on the tablet (or vice versa) keeps its wound and photo links intact; the tablet emits
idin web's key shape so the two builds share one identity. - Refused picks surfaced to the clinician instead of silently dropped.
- Removed photos cancel their queued upload.
- Persisted-file fallback when the picked file no longer exists on the device.
Scheduling & Appointments
- ★ Appointment-integrity review surface (Phase 2/3). Admin view for reviewing appointments with data-integrity flags.
- Reassign dropdown reads the bookable roster, not every facility member. Scoped to the appointment's facility.
- Shared clinician-id normalizer applied to create-appointment and reassign.
- Explicit unassign on reschedule honored.
- Stale count fix inside the anti-stale-comment guard.
Fleet Map & Calendar
- ★ Map stays mounted during date-change refetch — no more full remount + flicker.
- ★ Map pins no longer randomized for unresolved CA addresses.
- Marker listeners registered once, not once per render.
- Fleet Calendar drains paged reads instead of truncating at max_rows.
Fax
- ★ File faxes to charts from an edge function, not the browser. Closes tenancy and idempotency gaps.
- ★ Cover page + message box on progress-note faxes.
- Fax IDP tables scoped by facility grant, not
user_profile.facility_id.
Insurance
- ★ Verify-insurance writes the verified boolean + raw 271 eligibility response. Single
isInsuranceVerifiedpredicate for all readers. - NIM-202 closed. Fixed a defect that recorded "self" as an answer nobody gave, and shipped a documented, reproducible row repair.
- Coinsurance fractions normalized to whole percents across legacy rows.
- Payer shown in Claims picker; warns on duplicates and gates removal.
- Billing & Auth insurance add path guarded.
- Sex editable after intake; ends
patient.genderdrift between demographics and claims.
Consent
- ★ Typed-name attestation as a backup signature method for consent capture.
- Signer identity shared across modalities (paper, digital, typed).
- Per-modality coherence enforced via AST walk rather than regex census.
- Prefills may only add information, never remove it.
Notifications
- ★ Phase 0-2 shipped. Catalog + data-driven router → dispatcher + delivery ledger → real email/SMS/push wiring. Email launches first; SMS and push are "coming soon". Email sends through the existing Gmail SMTP path.
- Retention purge moved into an edge function.
- Both service-role key formats accepted.
Business Development
- ★ BD Activities: row menu, archive confirm with undo, edit modal, archived view.
- Archive-aware mode in
useBdActivities; archived activities excluded from daily suggestions. bd-activity-mutateedge function with authorization predicate; soft-delete columns, privilege lockdown, reader filters onbd_activities.
Home Health
- "Add New Agency" in the home-health picker.
- Legacy soak gate retired — was reading 0 in front of a live table.
Facility Setup
- Blank Tax ID no longer silently blocks facility edit.
- RLS-denied edit no longer reports success.
- Migration aborted on rows with two bad identifiers is now idempotent.
Security & Access
- ★ Billing-surface role gates. Billers and superadmin now 403 on Submit Claim, fax, auth email, and verification — matching the documented permission model.
- Client code can no longer hard-delete clinical records — DELETE policy dropped on
visit_data_v2, and higher-level clinical writes routed through edge functions. - Verify-insurance bound to the facility on write.
- Concise-arrow
console.*calls stripped from the production build. - Coverage routing hostile-review findings closed: A+B state, Zus dup rows, Stedi timeout, hospice race, indeterminate payer gate, NPI fallback audit.
Referral Intake
- Cross-patient note bleed fixed in the referral intake pipeline; UTC note-date regressions pinned with timezone-independent tests.
Analytics
- GA4 wired at router root. SPA page views,
begin_checkoutbefore Stripe redirect,sign_upconversion on/mini/confirmation. - PostHog suppressed on
/mini/*signup routes to isolate marketing-funnel telemetry.
Release Trains
Eight release PRs landed in August: v1.1.267 → v1.1.300. The largest single train was v1.1.297, which carried the Stedi 837P DMG03 recovery, the referring-provider write gap fix, and the coverage-routing hostile-review round.
Related
Auto-rendered from related: in frontmatter.