protected function _generateImmunizationRowData(PatientImmunization $pi)
 {
     $config = Zend_Registry::get('config');
     $useImmunizationInventory = (string) $config->useImmunizationInventory == 'true' ? true : false;
     if ($useImmunizationInventory) {
         $lotNumbers = array();
         $rows = array();
         $iterator = new ImmunizationInventoryIterator();
         $iterator->setFilters(array('immunization' => preg_replace('/,/', ',', $pi->immunization), 'inStock' => true, 'linked' => false, 'includeRow' => $pi->lot));
         foreach ($iterator as $inventory) {
             $lotNumbers[$inventory->immunizationInventoryId] = $inventory->lotNumber;
         }
     }
     $ret = array();
     $ret['id'] = $pi->patientImmunizationId;
     $ret['data'][] = date('Y-m-d H:i', strtotime($pi->dateAdministered));
     $ret['data'][] = $pi->lot;
     $ret['data'][] = $pi->amount;
     $ret['data'][] = $pi->units;
     $ret['data'][] = $pi->route;
     $ret['data'][] = $pi->site;
     $ret['data'][] = $pi->series;
     $ret['data'][] = $pi->reaction;
     $ret['data'][] = $pi->immunization;
     $ret['data'][] = (int) $pi->patientReported;
     $ret['data'][] = $pi->comment;
     if ($useImmunizationInventory) {
         $ret['userdata']['lotNumbers'] = $lotNumbers;
     }
     return $ret;
 }
 public function listAction()
 {
     $immunization = $this->_getParam('immunization');
     $rows = array();
     $iterator = new ImmunizationInventoryIterator();
     $iterator->setFilters(array('immunization' => $immunization));
     foreach ($iterator as $inventory) {
         if (!isset($parLevel)) {
             $parLevel = (int) $inventory->parLevel;
         }
         $rows[] = $this->_generateImmunizationInventoryRowData($inventory);
     }
     if (isset($parLevel)) {
         $rows[0]['userdata']['parLevel'] = $parLevel;
     }
     $data = array('rows' => $rows);
     $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $json->direct($data);
 }