Choose which programs get new custom data fields
You can now decide exactly where a new custom data field shows up — instead of having it automatically added to every program in your library. 💙
✨ What's new:
- ☑️ New "Enable data field on all programs" checkbox— When you create a custom data field in Settings > Programs > Program Data, this checkbox controls whether the field is added to every existing program. It's off by default, so new fields stay scoped unless you choose to apply them broadly.
- 📂 Apply to specific program templates— When "Enable data field on all programs" is off, a second checkbox appears: "Enable data field on program templates." Pick one or more templates from the multi-select dropdown, and the field appears only in those.
- ✏️ Edit template assignments anytime— Open an existing field and add or remove templates — the field updates immediately in the affected templates' program form.
- ⚠️ Warning when changing visibility on existing fields— If you toggle "Enable data field on all programs" on a field that's already in use, a banner warns you that the change may override field visibility set manually via Manage Fields in existing programs. The warning clears when you return the checkbox to its original state.
- 🧩 Legacy fields keep working— Custom data fields created before this update continue to show in all programs by default, unless you've manually hidden them.
💡 Why it matters:
Until now, every new custom data field was automatically added to every existing program in your clinic. If you only needed a field on a few specific program types, you had to manually remove it from the rest — tedious in large libraries. With this update, BCBAs and Managers can introduce new fields with intention: the field shows up exactly where it belongs, no cleanup required, and existing programs stay untouched.
---
Session duration now matches activity duration, automatically
Session duration now stays in sync with the underlying session activity durations — so the metrics that depend on it (learning opportunity rate, mastery rate, treatment intensity, and rate targets) reflect what actually happened in the session. 💙
✨ What's new:
- 🔄 Auto-synced session duration— Session duration is automatically recalculated based on the union of the session's activity durations (overlapping times count once). When you edit, add, or delete activities, session duration updates to match.
- ⏱ On by default for every session— Auto-sync is enabled out of the box, so the numbers driving your outcome metrics line up with the actual session activity from day one.
- 🔓 Manual override when you need it— You can still take manual control per session via "Modify session time and duration." Turn off auto-sync there to set the duration yourself — handy for edge cases where the activity record doesn't fully capture the session length.
- 📅 Forgotten sessions get accurate durations too— When a session is left open and auto-finished by the system, its duration is now recalculated from activities instead of stretching to the auto-finish time. This is a big improvement for rate programs, which would otherwise see badly skewed results.
- 🧾 Session start and finish timestamps unchanged— Only session duration is recalculated; start and finish timestamps still reflect when the session was started and finished (unless you've manually edited them).
💡 Why it matters:
Outcome metrics like learning opportunity rate, mastery rate, and treatment intensity all depend on session duration as the source of truth — as do frequency programs and rate targets inside a session. But across a sample of 1,000 sessions, the average gap between session duration and the actual activity durations was more than 57 minutes, because users adjust activity times far more often than they update session duration to match. That's enough to make duration-based outcome data unreliable. With session duration now auto-syncing to activity durations, the rates and intensity metrics your team — and your clients' families — rely on will actually reflect the work that happened in the room.
---
👉 Learn more about: