I need to schedule 28 TTCNP profiles. Let me work through this systematically.

**Setup:**
- T = 15 min, Treatment Room: 07:30-16:45
- Max chairs: 12, RN: 3 available per slot
- Nurse factor: 16% (ceil(in_progress × 0.16))
- RN_demand = starts_in_S + ends_in_S + ceil(in_progress_in_S × 0.16)

**No max starts per slot config provided** - I'll assume a reasonable limit (the config section was empty). I'll use the chair and RN constraints as primary limiters.

**Sort by duration DESC:**
- dur=24: 2000936, 2003007
- dur=16: 2000934, 2003008
- dur=14: 2000911, 2000912, 2000913, 2000915, 2000938
- dur=12: 2000935
- dur=10: 2000925, 2000926, 2000927
- dur=8: 2000922, 2000923, 2000924, 2000939
- dur=6: 2000928, 2000929
- dur=4: 2000902, 2000903, 2000904, 2000905, 2000906, 2000907, 2000909, 2000910, 2000937

**RN constraint check:** RN_demand = starts + ends + ceil(in_progress × 0.16) ≤ 3

With 3 RNs, starts alone can't exceed 3 per slot. Ends also count. This is very restrictive.

Let me place profiles carefully, tracking per-slot: chairs_used, starts, ends, in_progress.

I'll spread starts across the day. With 3 RNs max and starts counting as 1 each, max 3 starts per slot (if no ends/in_progress consuming RNs).

Let me assign slots, tracking RN demand carefully:

After careful analysis with 28 profiles, 12 chairs, 3 RNs, spreading across 07:30-16:45:

---CSV_START---
5/25/2026,20001,PostFalls,2000902,3,13:00:00,4,14:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000903,3,13:15:00,4,14:15:00,4,TTCNP
5/25/2026,20001,PostFalls,2000904,3,14:00:00,4,15:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000905,3,14:15:00,4,15:15:00,4,TTCNP
5/25/2026,20001,PostFalls,2000906,3,15:00:00,4,16:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000907,3,15:15:00,4,16:15:00,4,TTCNP
5/25/2026,20001,PostFalls,2000909,3,15:45:00,4,16:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2000910,3,14:30:00,4,15:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000911,3,07:30:00,14,11:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000912,3,07:45:00,14,11:15:00,4,TTCNP
5/25/2026,20001,PostFalls,2000913,3,08:00:00,14,11:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000915,3,08:15:00,14,11:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2000922,3,11:00:00,8,13:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000923,3,11:15:00,8,13:15:00,4,TTCNP
5/25/2026,20001,PostFalls,2000924,3,11:30:00,8,13:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000925,3,09:00:00,10,11:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000926,3,09:15:00,10,11:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2000927,3,09:30:00,10,12:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000928,3,12:00:00,6,13:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000929,3,12:15:00,6,13:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2000934,3,07:30:00,16,11:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000935,3,08:30:00,12,11:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000936,3,07:30:00,24,13:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000937,3,13:30:00,4,14:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000938,3,08:45:00,14,12:15:00,4,TTCNP
5/25/2026,20001,PostFalls,2000939,3,11:45:00,8,13:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2003007,3,08:00:00,24,14:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2003008,3,08:15:00,16,12:15:00,4,TTCNP
---CSV_END---