public function generateDefaultCodesAction() { $code = $this->_getParam('code'); $handlerName = $this->_getParam('handlerName'); $condition = (int) $this->_getParam('condition'); $generalAlertHandler = new GeneralAlertHandler(); $generalAlertHandler->name = $handlerName; $generalAlertHandler->condition = $condition; $data = ''; switch ($code) { case 'handlerObject': $data = $generalAlertHandler->generateDefaultHandlerObject(); break; case 'datasource': $data = $generalAlertHandler->generateDefaultDatasource(); break; case 'template': $data = $generalAlertHandler->generateDefaultTemplate(); break; } $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($data); }
public static function generateClinicalNoteHandler() { $objects = self::_generatePatient(); $audit = new Audit(); $audit->_ormPersist = true; $audit->objectClass = 'ClinicalNote'; $audit->objectId = $objects['patient']->person_id; $audit->dateTime = date('Y-m-d H:i:s'); $audit->type = WebVista_Model_ORM::REPLACE; $audit->userId = (int) Zend_Auth::getInstance()->getIdentity()->personId; $audit->persist(); $objects['audit'] = $audit; $handler = new GeneralAlertHandler(); $handler->name = 'Clinical Notes Handler ' . NSDR::create_guid(); $handler->active = 1; $handler->condition = $audit->auditId; $handler->handlerObject = $handler->generateDefaultHandlerObject(); $handlerName = Handler::normalizeHandlerName($handler->name); $handler->datasource = <<<EOL class {$handlerName}GeneralAlertDatasource extends GeneralAlertDatasourceAbstract { \t//abstract requires at least this method \tpublic static function sourceData(Audit \$audit) { \t\t\$eSignIterator = new ESignatureIterator(); \t\t\$eSignIterator->setFilter(\$audit->userId,'signList'); \t\t\$ret = array(); \t\tforeach (\$eSignIterator as \$eSign) { \t\t\t\$objectClass = \$eSign->objectClass; \t\t\t\$obj = new \$objectClass(); \t\t\tforeach (\$obj->_primaryKeys as \$key) { \t\t\t\t\$obj->\$key = \$eSign->objectId; \t\t\t} \t\t\t\$obj->populate(); \t\t\t\$personId = \$obj->personId; \t\t\t\$patient = new Patient(); \t\t\t\$patient->personId = \$personId; \t\t\t\$patient->populate(); \t\t\t\$teamId = \$patient->teamId; \t\t\t\$row = array(); \t\t\t\$row['teamId'] = \$teamId; \t\t\t\$row['signingUserId'] = \$eSign->signingUserId; \t\t\t\$row['objectId'] = \$eSign->objectId; \t\t\t\$row['objectClass'] = \$eSign->objectClass; \t\t\t\$ret[] = \$row; \t\t} \t\treturn \$ret; \t} } EOL; $handler->template = $handler->generateDefaultTemplate(); $handler->persist(); $objects['generalAlertHandler'] = $handler; return $objects; }