filtering out organization-units by attributes

Hi

we need some attributes to be attached to Facilities.
i.e IsReporting, Status(Functional/Non-Functional/Closed) etc.

  1. In reporting we want to filter Facilities in a certain period according to these attributes(reporting and functional status). how to implement it?

  2. For the ‘functional status’ attribute, we want to track change history with date-time, through out the facility lifetime. is it possible ? How?

  3. With this change history. if e.g we are reporting on this facility, for last some years, we want to include its data for its functional period and filter-out data for its non-functional period. How to implement it?