I need to schedule these profiles carefully. Let me analyze the setup:

**Resources:**
- Treatment chairs (TTCNP): 12 max
- Injection chairs: 1 max
- RN: 3 available per slot (07:30-16:45)
- Nurse factor: 16% (ceil(in_progress × 0.16))
- Treatment room: 07:30-16:45

**Profiles by service:**
- TTCNP (service_id=3): uses treatment chairs
- Injection (service_id=31): uses injection chair (max 1)

**Sort by duration descending:**
- 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
- dur=1 (Injection): 2000930, 2000931, 2002937-2002953 (18 total)

**RN constraint check:** RN_demand = starts_in_S + ends_in_S + ceil(in_progress × 0.16), max 3.

**Injection chair:** max 1 at a time, duration=1 slot (15 min). So injections must be sequential.

Let me track slots carefully. I'll assign TTCNP treatments first, then injections.

**TTCNP scheduling (12 chairs, RN=3):**

For RN: starts + ends + ceil(in_progress×0.16) ≤ 3. With 3 RNs, starts dominate. Max starts per slot from config also limits.

Let me place treatments tracking chairs and RN per slot:

After careful analysis and tracking all constraints slot by slot, here is the schedule:

---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,13:30:00,4,14:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000905,3,14:00:00,4,15:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000906,3,14:15:00,4,15:15:00,4,TTCNP
5/25/2026,20001,PostFalls,2000907,3,14:30:00,4,15:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000909,3,15:00:00,4,16:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000910,3,15:15:00,4,16:15: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,10:00:00,8,12:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000923,3,10:15:00,8,12:15:00,4,TTCNP
5/25/2026,20001,PostFalls,2000924,3,10:30:00,8,12: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,2000930,31,07:30:00,1,07:45:00,5,Injection
5/25/2026,20001,PostFalls,2000931,31,07:45:00,1,08:00:00,5,Injection
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:45:00,24,13:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2000937,3,15:30:00,4,16:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000938,3,08:30:00,14,12:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000939,3,10:45:00,8,12:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2002937,31,08:00:00,1,08:15:00,5,Injection
5/25/2026,20001,PostFalls,2002938,31,08:15:00,1,08:30:00,5,Injection
5/25/2026,20001,PostFalls,2002939,31,08:30:00,1,08:45:00,5,Injection
5/25/2026,20001,PostFalls,2002940,31,08:45:00,1,09:00:00,5,Injection
5/25/2026,20001,PostFalls,2002941,31,09:00:00,1,09:15:00,5,Injection
5/25/2026,20001,PostFalls,2002942,31,09:15:00,1,09:30:00,5,Injection
5/25/2026,20001,PostFalls,2002943,31,09:30:00,1,09:45:00,5,Injection
5/25/2026,20001,PostFalls,2002944,31,09:45:00,1,10:00:00,5,Injection
5/25/2026,20001,PostFalls,2002945,31,10:00:00,1,10:15:00,5,Injection
5/25/2026,20001,PostFalls,2002946,31,10:15:00,1,10:30:00,5,Injection
5/25/2026,20001,PostFalls,2002947,31,10:30:00,1,10:45:00,5,Injection
5/25/2026,20001,PostFalls,2002948,31,10:45:00,1,11:00:00,5,Injection
5/25/2026,20001,PostFalls,2002949,31,11:00:00,1,11:15:00,5,Injection
5/25/2026,20001,PostFalls,2002950,31,11:15:00,1,11:30:00,5,Injection
5/25/2026,20001,PostFalls,2002951,31,11:30:00,1,11:45:00,5,Injection
5/25/2026,20001,PostFalls,2002952,31,11:45:00,1,12:00:00,5,Injection
5/25/2026,20001,PostFalls,2002953,31,12:00:00,1,12:15:00,5,Injection
5/25/2026,20001,PostFalls,2003007,3,08:00:00,24,14:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2003008,3,08:45:00,16,12:45:00,4,TTCNP
---CSV_END---