This is giving me errors. Some of these things need to be optional. As well, error catching for empty entries is needed.
All these requirements are mandated as part of PQRI reporting .. I'll fix any bugs if they are entered into the tracker.