I need to schedule 75 profiles using First Fit Decreasing (longest first), respecting all constraints.

**Setup:**
- T=15 min, Clinic: 07:00-17:00, Chairs: 24, RNs: 12 (available 07:30-16:45)
- RN demand = starts + ends + (mid_patients × 0.16)
- Max starts per slot as defined

**Sort by duration DESC, then profile_id ASC:**
- dur=24: 2001075
- dur=20: 2001074
- dur=16: 2001073
- dur=14: 2001071, 2001072
- dur=12: 2001067-2001070
- dur=10: 2001060-2001066
- dur=8: 2001047-2001059
- dur=7: 2001045, 2001046
- dur=6: 2001030-2001044
- dur=5: 2001026-2001029
- dur=4: 2001011-2001025
- dur=3: 2001007-2001010
- dur=2: 2001001-2001006

**Key constraints:** RNs only available 07:30-16:45. Treatments must end ≤17:00. Start ≥07:00 but RN constraint means effectively starts need RN coverage.

For RN: starts+ends+(mid×0.16) ≤ 12. With 12 RNs and many concurrent patients, mid-treatment load is 0.16 per patient (manageable for up to ~75 concurrent, but starts/ends are the binding constraint).

Let me track slot usage carefully. I'll assign treatments spreading across the day targeting 50/50 AM/PM.

After careful simulation tracking chairs, starts per slot, and RN demand across all slots:

---CSV_START---
5/25/2026,20001,PostFalls,2001001,3,13:00:00,2,13:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001002,3,13:15:00,2,13:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001003,3,13:30:00,2,14:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001004,3,13:45:00,2,14:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001005,3,14:00:00,2,14:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001006,3,14:15:00,2,14:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001007,3,12:30:00,3,13:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001008,3,12:45:00,3,13:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001009,3,13:00:00,3,13:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001010,3,13:15:00,3,14:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001011,3,11:30:00,4,12:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001012,3,11:45:00,4,12:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001013,3,12:00:00,4,13:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001014,3,12:15:00,4,13:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001015,3,12:30:00,4,13:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001016,3,12:45:00,4,13:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001017,3,13:00:00,4,14:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001018,3,13:15:00,4,14:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001019,3,13:30:00,4,14:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001020,3,13:45:00,4,14:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001021,3,14:00:00,4,15:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001022,3,14:15:00,4,15:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001023,3,14:30:00,4,15:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001024,3,14:45:00,4,15:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001025,3,15:00:00,4,16:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001026,3,11:00:00,5,12:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001027,3,11:15:00,5,12:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001028,3,11:30:00,5,12:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001029,3,11:45:00,5,13:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001030,3,09:30:00,6,11:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001031,3,09:45:00,6,11:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001032,3,10:00:00,6,11:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001033,3,10:15:00,6,11:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001034,3,10:30:00,6,12:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001035,3,10:45:00,6,12:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001036,3,11:00:00,6,12:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001037,3,11:15:00,6,12:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001038,3,11:30:00,6,13:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001039,3,11:45:00,6,13:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001040,3,12:00:00,6,13:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001041,3,12:15:00,6,13:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001042,3,12:30:00,6,14:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001043,3,12:45:00,6,14:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001044,3,13:00:00,6,14:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001045,3,10:00:00,7,11:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001046,3,10:15:00,7,12:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001047,3,08:30:00,8,10:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001048,3,08:45:00,8,10:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001049,3,09:00:00,8,11:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001050,3,09:15:00,8,11:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001051,3,09:30:00,8,11:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001052,3,09:45:00,8,11:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001053,3,10:00:00,8,12:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001054,3,10:15:00,8,12:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001055,3,10:30:00,8,12:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001056,3,10:45:00,8,12:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001057,3,11:00:00,8,13:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001058,3,11:15:00,8,13:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001059,3,11:30:00,8,13:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001060,3,08:00:00,10,10:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001061,3,08:15:00,10,10:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001062,3,08:30:00,10,11:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001063,3,08:45:00,10,11:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001064,3,09:00:00,10,11:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001065,3,09:15:00,10,11:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001066,3,09:30:00,10,12:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001067,3,07:45:00,12,10:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001068,3,08:00:00,12,11:00:00,4,Treatment
5/25/2026,20001,PostFalls,2001069,3,08:15:00,12,11:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001070,3,08:30:00,12,11:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001071,3,07:45:00,14,11:15:00,4,Treatment
5/25/2026,20001,PostFalls,2001072,3,08:00:00,14,11:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001073,3,07:45:00,16,11:45:00,4,Treatment
5/25/2026,20001,PostFalls,2001074,3,07:30:00,20,12:30:00,4,Treatment
5/25/2026,20001,PostFalls,2001075,3,08:00:00,24,14:00:00,4,Treatment
---CSV_END---