Module: PM (Practice Management) | Spec: PM-04 | Version: 1.0Documentation Index
Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Group Session Scheduling lets you define recurring therapy groups, schedule individual sessions, and manage patient enrollment with capacity and waitlist controls. It supports IOP (Intensive Outpatient Program) and PHP (Partial Hospitalization Program) compliance tracking per AHCCCS requirements.Getting Started
Navigation
From the sidebar, navigate to Practice Management → Group Sessions (or visit/pm/groups).
Required Permissions
| Action | Permission Key |
|---|---|
| View group definitions | pm.group_definitions.view |
| Create/edit groups | pm.group_definitions.create / pm.group_definitions.edit |
| Delete groups | pm.group_definitions.delete |
| View schedule | pm.group_schedule.view |
| Create/edit occurrences | pm.group_schedule.create / pm.group_schedule.edit |
| Cancel occurrences | pm.group_schedule.delete |
| View enrollments | pm.group_enrollments.view |
| Enroll/disenroll patients | pm.group_enrollments.create / pm.group_enrollments.edit |
| Remove enrollments | pm.group_enrollments.delete |
Creating a Group Definition
- Click New Group on the Group Sessions list page.
- Fill in the required fields:
- Group Name — Descriptive name (e.g., “Morning CBT Group”)
- Group Type — Select from:
therapy,psychoeducation,skills_training,support,iop,php,other - Facilitator — Primary clinician running the group
- Max Capacity — Maximum number of enrolled patients
- Duration (minutes) — Standard session length
- Optional fields:
- Co-Facilitator — Secondary clinician
- Location — Site/room assignment
- Min Capacity — Minimum patients to hold the session
- Recurrence Rule — iCal RRULE for recurring schedule generation
- Click Save.
Managing Schedule Occurrences
Viewing the Schedule
From a group definition’s detail page, select the Schedule tab to see all upcoming and past session occurrences.Adding an Occurrence
- Click Add Session on the Schedule tab.
- Set the Session Date, Start Time, and End Time.
- Confirm or change the Facilitator (defaults to the group’s primary facilitator).
- Click Save. A
pm_group_session_scheduledevent is published.
Cancelling a Session
- Click the session occurrence you want to cancel.
- Select Cancel Session.
- Provide a Cancellation Reason.
- Confirm. Status changes to
cancelledand apm_group_session_cancelledevent is published.
Managing Enrollments
Enrolling a Patient
- From a group definition’s detail page, select the Enrollments tab.
- Click Enroll Patient.
- Search and select the patient from the patient registry (PM-01).
- The system automatically checks
max_capacityto determine enrollment status:- If the group is below max capacity, the patient is enrolled with status
enrolled. - If the group is at capacity, the patient is automatically placed on the waitlist with an assigned position number.
- If the group is below max capacity, the patient is enrolled with status
- A toast notification confirms the enrollment outcome.
Capacity Indicator
The Enrollments tab displays a capacity bar: Enrolled / Max Capacity. When full, the bar changes color to indicate the group is at capacity.Waitlist Management
- Waitlisted patients appear in a separate section ordered by
waitlist_position. - When an enrolled patient is disenrolled, the system automatically promotes the next waitlisted patient (lowest position number) to
enrolledstatus. - A toast notification informs you when an auto-promotion occurs.
Disenrolling a Patient
- Click the enrolled patient’s row.
- Select Disenroll.
- Provide a Reason (optional).
- Confirm. The enrollment record is updated (not deleted) for audit trail.
IOP/PHP Compliance
For groups of typeiop or php, the system evaluates AHCCCS compliance requirements:
IOP Requirements (AHCCCS)
- 9+ hours/week of structured programming
- 3+ days/week of sessions
- 3+ hours/day minimum per session day
PHP Requirements (AHCCCS)
- 20+ hours/week of structured programming
- 5 days/week (daily sessions required)
Compliance Status
The group detail page displays a compliance badge when the group type isiop or php:
- ✅ Compliant — All thresholds met
- ⚠️ Non-Compliant — Lists specific gaps (e.g., “Need 3 more hours/week”)
Soft Delete and Data Retention
- Group definitions and enrollments use soft delete (
deleted_atcolumn). - Deleted groups are hidden from list views but retained in the database for audit and historical reporting.
- Clinical attendance records (CL-14) linked to schedule occurrences are not affected by group soft-deletion.
Integration with Clinical Documentation (CL-14)
- PM-04 owns the scheduling side: group definitions, schedule, enrollments.
- CL-14 (when implemented) owns clinical documentation: attendance, progress notes, group therapy notes.
- CL-14 references
pm_group_schedule.idvia the Platform Integration Layer (no direct FK). - Charge capture (PM-07) is triggered by CL-14’s
group_session_documentedevent, not by scheduling alone.
Frequently Asked Questions
Q: Can I edit a group definition after patients are enrolled? A: Yes. Changes to group name, facilitator, capacity, etc. take effect immediately. Existing enrollments are not affected. Q: What happens when I reduce max_capacity below current enrollment? A: Existing enrollments remain. No patients are automatically disenrolled. The system will show the group as over-capacity until resolved manually. Q: Can a patient be enrolled in multiple groups? A: Yes. Each enrollment is per-group. A patient can participate in multiple concurrent groups. Q: Is facilitator availability checked? A: Not in Phase 1. Facilitator availability validation requires PM-05 (Provider Schedule & Availability), which is planned for a future release. Currently, facilitator_id is a simple reference to the staff profile.Related Documentation
- Patient Registration User Guide (PM-01)
- Insurance & Eligibility User Guide (PM-02)
- Group Session Scheduling Admin Guide (PM-04)
- PM-04 Specification:
specs/pm/specs/PM-04-group-session-scheduling.md