---
id: release-notes-2026-08
title: August 2026 release notes
module: getting-started
audience: [clinician, intake, admin, billing, bd, vendor]
type: release-note
last_reviewed: 2026-09-01
tags: [release-notes]
related:
  - release-notes-2026-06
  - visit-wizard-ehr-aprn-credential
  - visit-wizard-ehr-signature-timestamp
  - visit-wizard-ehr-note-honesty-guardrails
  - billing-claim-scrub
  - billing-stedi-actions-inbox
  - billing-ptan-and-payer-enrollment
  - billing-timely-filing
  - billing-cms-1500-and-837p-fields
  - billing-retired-cpt-guard
---

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](../modules/visit-wizard-ehr/aprn-credential.md).
- ★ **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 EDT` in the reader's device timezone with the zone abbreviation always shown. Legacy PDF fallback that stamped `new Date()` onto unsigned notes is deleted. See [How the signature timestamp prints on a signed note](../modules/visit-wizard-ehr/signature-timestamp.md).
- ★ **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](../modules/visit-wizard-ehr/note-honesty-guardrails.md).
- **Contradictory `is_clean` formulas 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](../modules/billing/charge-master-and-zero-dollar-guard.md).
- ★ **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](../modules/billing/claim-scrub.md).
- ★ **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](../modules/billing/retired-cpt-guard.md).
- **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](../modules/billing/timely-filing.md).

---

## 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/enrollment` covering four transaction types. See [PTAN and payer enrollment](../modules/billing/ptan-and-payer-enrollment.md).
- ★ **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](../modules/billing/stedi-actions-inbox.md).
- ★ **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 `claimInformation` fields 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](../modules/billing/cms-1500-and-837p-fields.md).

---

## ZusHealth & Interoperability

- ★ **Import write layer rebuilt.** Five mappers, `lab_tests` redirect, `Immunization` inlet, 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 `active` flag 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_id` for 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 `id` in 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 `isInsuranceVerified` predicate 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.gender` drift 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-mutate` edge function** with authorization predicate; soft-delete columns, privilege lockdown, reader filters on `bd_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_checkout` before Stripe redirect, `sign_up` conversion 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.
