Performance issues with closed loop & shelf life
Hi - I'm trying to model our adult social work review cycle. I have about 5000 clients as work items. They follow a closed loop through a planned review activity (which is replicated 147 times to match our FTE social work resource). The work items need to be held in a queue until their review is due, and I want to count those overdue at regular intervals. There's a label to control shelf life which is reset after review, and a label to count the numbers of reviews each client receives in total.
I've read before that using shelf life is very inefficient for large numbers of work items, but the performance I'm getting is extremely poor. Unusable really. I'm trying to do a 10 year run and it took more than 5 hours without completing a run last night. I could develop with a smaller sample client base but it's really not ideal.
So my questions are:
1. Is there any alternative to shelf life to hold work items in a queue for fixed amounts of time before moving them on? Could I set a date or time value in a label and move items out using visual logic? I'm not aware of a way to have the visual logic look through all items in a queue on a regular basis, check for a criteria and then perform some action. That seems like a gap in functionality. Many of the models I've tried to develop for adult social work suffer the same problems - I want to model work items that change between different states very slowly over time, or proportions of them will follow different pathways at random. But I can't find a way to do this without hitting these performance issues.
2. Is there anything that can be done about these performance issues? I can't develop the model with it running so slowly.
Any help appreciated - thanks,
Giles Robinson – Data Scientist
Sheffield City Council
Business Intelligence Team