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); }