I am implementing an order management system using ethereum private block chain. Each order is a smart contract. Each order will be acted upon by multiple actors. The status of the order will also be updated by these actors. How do I get the current status of the order? Will need details like when the order was last processed and by whom, and its status. I will also need the ability to find orders by status(ex: Completed, Failed etc). Find orders that were processed within a date range etc. Is it possible to retrieve such data from the blockchain itself?
If not, what should be the approach to implement such a system?