added error checking, update to save the observation id and defined for operation parameters types