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 per 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. 2000911: dur=14 (210min)
6. 2000912: dur=14 (210min)
7. 2000913: dur=14 (210min)
8. 2000915: dur=14 (210min)
9. 2000938: dur=14 (210min)
10. 2000935: dur=12 (180min)
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). With 3 RNs max, starts+ends alone can't exceed 3. Mid-treatment patients contribute ceil(n×0.16).

Key constraint: at any slot, starts + ends + ceil(in_progress×0.16) ≤ 3.

With 3 RNs, if 2 start at a slot, that uses 2 RNs, leaving 1 for ends/in-progress. This is very tight.

Let me track slot by slot carefully. I'll place profiles and track chairs, starts, ends, in-progress per slot.

After careful analysis, placing profiles to spread load and respect RN=3 constraint (which is the binding constraint):

At most 2 starts per slot (uses 2 RNs), leaving 1 for ends/in-progress. With many concurrent patients, ceil(n×0.16) grows.

Let me assign systematically:

- 07:30: start 2000936(24), 2003007(24) → 2 starts, ends at 13:30
- 07:45: start 2000934(16), 2003008(16) → 2 starts, ends at 11:45; in_progress=2→ceil(0.32)=1; RN=2+0+1=3 ✓
- 08:00: in_progress=4→ceil(0.64)=1; RN=0+0+1=1 ✓; start 2000911(14), 2000912(14) → RN=2+0+1=3 ✓; ends 11:30
- 08:15: in_progress=6→ceil(0.96)=1; start 2000913(14),2000915(14)→RN=2+0+1=3✓; ends 11:45
- 08:30: in_progress=8→ceil(1.28)=2; start 2000938(14),2000935(12)→RN=2+0+2=4 ✗

Need to be more careful. Let me recalculate: ceil(8×0.16)=ceil(1.28)=2. So 2 starts would give RN=2+0+2=4>3. Only 1 start allowed.

This significantly limits throughput. Let me redo carefully.

After thorough analysis placing one profile at a time:

---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,08:00:00,14,11:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000912,3,08:15:00,14,11:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2000913,3,09:00:00,14,12:30:00,4,TTCNP
5/25/2026,20001,PostFalls,2000915,3,09:15:00,14,12: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:30:00,10,12:00:00,4,TTCNP
5/25/2026,20001,PostFalls,2000926,3,09:45:00,10,12:15:00,4,TTCNP
5/25/2026,20001,PostFalls,2000927,3,10:00:00,10,12:30: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:45:00,16,11:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2000935,3,10:15:00,12,13:15: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,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,11:45:00,8,13:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2003007,3,08:45:00,24,14:45:00,4,TTCNP
5/25/2026,20001,PostFalls,2003008,3,10:30:00,16,14:30:00,4,TTCNP
---CSV_END---