• It seems very good solution according to the requirements you mentioned and there can be one more enhancements that is to replace trigger with Change Tracking, that will reduce the impact of trigger as well. But I would recommend this if there are lot of users and lot of reports are being frequently modified or created.