public function processPatientImmunizationAction()
 {
     $patientId = (int) $this->_getParam("patientId");
     $immunizations = $this->_getParam("immunizations");
     if ($patientId > 0) {
         $patientImmunizationIterator = new PatientImmunizationIterator();
         $filter = array();
         $filter['patientId'] = $patientId;
         $patientImmunizationIterator->setFilter($filter);
         $existingImmunizations = $patientImmunizationIterator->toArray('patientImmunizationId', 'immunization');
         if (is_array($immunizations)) {
             foreach ($immunizations as $patientImmunizationId => $immunization) {
                 if (isset($existingImmunizations[$patientImmunizationId])) {
                     unset($existingImmunizations[$patientImmunizationId]);
                 }
                 $patientImmunization = new PatientImmunization();
                 $immunization['patientImmunizationId'] = $patientImmunizationId;
                 $immunization['patientId'] = $patientId;
                 trigger_error(print_r($immunization, true), E_USER_NOTICE);
                 $patientImmunization->populateWithArray($immunization);
                 $patientImmunization->administeredDate = date('Y-m-d H:i:s');
                 $patientImmunization->persist();
             }
         }
         // delete un-used records
         foreach ($existingImmunizations as $patientImmunizationId => $immunization) {
             $patientImmunization = new PatientImmunization();
             $patientImmunization->patientImmunizationId = $patientImmunizationId;
             $patientImmunization->setPersistMode(WebVista_Model_ORM::DELETE);
             $patientImmunization->persist();
         }
     }
     $data = array();
     $data['msg'] = __("Record saved successfully");
     $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $json->direct($data);
 }