I need to schedule 28 profiles (all TTCNP service) using First Fit Decreasing.

**Setup:**
- T=15 min, Treatment Room: 07:30-16:45
- Max chairs: 12, RNs: 3/slot
- RN demand = starts_in_S + ends_in_S + ceil(in_progress × 0.16)

**Sort by duration DESC, then profile_id ASC:**
1. 2000936: dur=24 (360min)
2. 2003007: dur=24 (360min)
3. 2000934: dur=16 (240min)
4. 2003008: dur=16 (240min)
5. 2000935: dur=12 (180min)
6. 2000911: dur=14 (210min)
7. 2000912: dur=14 (210min)
8. 2000913: dur=14 (210min)
9. 2000915: dur=14 (210min)
10. 2000938: dur=14 (210min)
11. 2000925: dur=10 (150min)
12. 2000926: dur=10 (150min)
13. 2000927: dur=10 (150min)
14. 2000922: dur=8 (120min)
15. 2000923: dur=8 (120min)
16. 2000924: dur=8 (120min)
17. 2000939: dur=8 (120min)
18. 2000928: dur=6 (90min)
19. 2000929: dur=6 (90min)
20. 2000902: dur=4 (60min)
21. 2000903: dur=4 (60min)
22. 2000904: dur=4 (60min)
23. 2000905: dur=4 (60min)
24. 2000906: dur=4 (60min)
25. 2000907: dur=4 (60min)
26. 2000909: dur=4 (60min)
27. 2000910: dur=4 (60min)
28. 2000937: dur=4 (60min)

**RN constraint analysis:** RN_demand = starts + ends + ceil(in_progress×0.16), max=3. With 3 RNs, starts alone can use up to 3/slot. Mid-treatment patients: ceil(n×0.16) where n patients in progress.

Let me track slot by slot. Key insight: starts+ends+ceil(mid×0.16)≤3. If 2 start at same slot, that's 2 RNs used for starts alone, leaving 1 for ends/mid.

**Placing profiles (spreading load):**

After careful analysis tracking chairs, starts, RN demand per slot:

- 2000936 (24): 07:30→13:30
- 2003007 (24): 07:45→13:45
- 2000934 (16): 08:00→12:00
- 2003008 (16): 08:15→12:15
- 2000935 (12): 08:30→11:00
- 2000911 (14): 08:30→12:00 (wait - 08:30 already has 3 starts with 935... need to check)

Let me be more careful and systematic, tracking starts per slot:

07:30: 1 start (2000936) → max=1 ✓
07:45: 1 start (2003007) → max=2 ✓
08:00: 1 start (2000934) → max=2 ✓
08:15: 1 start (2003008) → max=2 ✓
08:30: 3 starts (2000935,2000911,2000912) → max=3 ✓
08:45: 3 starts (2000913,2000915,2000938) → max=3 ✓
09:00: 3 starts (2000925,2000926,2000927) → max=3 ✓
09:15: 3 starts (2000922,2000923,2000924) → max=3 ✓
09:30: 3 starts (2000939,2000928,2000929) → max=3 ✓
10:00: 3 starts (2000902,2000903,2000904) → max=3 ✓
10:15: 3 starts (2000905,2000906,2000907) → max=3 ✓
10:30: 2 starts (2000909,2000910) → max=3 ✓
10:45: 1 start (2000937) → max=3 ✓

Now checking chairs and RN at each slot... this is complex. Let me verify peak chair usage and RN demands are satisfied, then output.

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