/** * Process the modified clinical notes template */ public function processEditTemplateAction() { $params = $this->_getParam('cnTemplate'); $autoAdd = (int) $this->_getParam('autoAdd'); $cnTemplate = new ClinicalNoteTemplate(); $cnTemplate->populateWithArray($params); $data = array(); try { $xml = new SimpleXMLElement($cnTemplate->template); $data['msg'] = __('Record saved successfully.'); $cnTemplate->persist(); } catch (Exception $e) { $data['error'] = __('Error: ' . $e->getMessage()); } if (!isset($data['error']) && (string) $xml->attributes()->useNSDR && (string) $xml->attributes()->useNSDR == 'true') { $namespaceAdd = false; $namespaces = array(); $nsdrDefinition = new NSDRDefinition(); foreach ($xml as $questions) { foreach ($questions as $key => $item) { $namespace = (string) $item->attributes()->namespace; if ($key != 'dataPoint' || $namespace && !strlen($namespace) > 0) { continue; } // extract namespace only $namespace = NSDR2::extractNamespace($namespace); // check if namespace exists then auto-add if does not if (!$nsdrDefinition->isNamespaceExists($namespace) && $autoAdd) { $nsdrDefinition->addNamespace($namespace, 'GenericData'); $namespaceAdd = true; } } } if ($namespaceAdd) { $data['msg'] .= "\n\n" . __('Please reload NSDR'); } } $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($data); }